我正在尝试绘制并填充三角形 . 我提到了一个android - 问题How to draw filled triangle on android Canvas并做了以下事情 . 它绘制三角形但不填充它 . 怎么弄它?此外,它是否可以填充不同于线条颜色的颜色?
Xamarin Forms
private void OnPainting(object sender, SKPaintSurfaceEventArgs e)
{
var surface = e.Surface;
var canvas = surface.Canvas;
canvas.Clear(SKColors.White);
var pathStroke2 = new SKPaint
{
IsAntialias = true,
Style = SKPaintStyle.StrokeAndFill,
Color = new SKColor(244, 0, 110, 200),
StrokeWidth = 5
};
var path2 = new SKPath { FillType = SKPathFillType.EvenOdd };
path2.MoveTo(0, 0);
path2.LineTo(0, 140);
path2.MoveTo(0, 140);
path2.LineTo(140, 140);
path2.MoveTo(140, 140);
path2.LineTo(0, 0);
path2.Close();
canvas.DrawPath(path2, pathStroke2);
}
2 回答
你不需要同时使用LineTo()和MoveTo() - 我怀疑这样做是打破填充算法 . 相反,只需使用
根据杰森的评论,删除不需要的MoveTo线解决了它 .
以下是完整的代码 .