NGraphics:有没有办法在笔画上设置圆帽
NGraphics: Is there a way to have round cap on strokes
您好,我正在使用 NGraphics 为 xamarin 表单绘制笔画。在 Android 中,我可以在启用圆帽的情况下绘制笔划,因此端点的笔划是圆形的。在 NGraphics 中,我仍然可以绘制笔划,但端点有角。
简短回答:否
NGraphic 的 Pen
Class 不会公开 StrokeJoins
和 StrokeCaps
等项目。
您总是可以 mod 源代码将这些类型的属性添加到 Pen
Class 并设置适当的平台相关项。
即在Android实现中,私有GetPenPaint
方法设置了AndroidPaint
对象,只需要在适当的时候设置Paint.StrokeCap
:
`paint.StrokeCap = Paint.Cap.Round;`
Paint GetPenPaint (Pen pen)
{
var paint = new Paint (PaintFlags.AntiAlias);
paint.SetStyle (Paint.Style.Stroke);
paint.SetARGB (pen.Color.A, pen.Color.R, pen.Color.G, pen.Color.B);
paint.StrokeWidth = (float)pen.Width;
if (pen.DashPattern != null && pen.DashPattern.Any ()) {
var dashPathEffect = new DashPathEffect(pen.DashPattern.ToArray(), 0);
paint.SetPathEffect(dashPathEffect);
}
return paint;
}
您好,我正在使用 NGraphics 为 xamarin 表单绘制笔画。在 Android 中,我可以在启用圆帽的情况下绘制笔划,因此端点的笔划是圆形的。在 NGraphics 中,我仍然可以绘制笔划,但端点有角。
简短回答:否
NGraphic 的 Pen
Class 不会公开 StrokeJoins
和 StrokeCaps
等项目。
您总是可以 mod 源代码将这些类型的属性添加到 Pen
Class 并设置适当的平台相关项。
即在Android实现中,私有GetPenPaint
方法设置了AndroidPaint
对象,只需要在适当的时候设置Paint.StrokeCap
:
`paint.StrokeCap = Paint.Cap.Round;`
Paint GetPenPaint (Pen pen)
{
var paint = new Paint (PaintFlags.AntiAlias);
paint.SetStyle (Paint.Style.Stroke);
paint.SetARGB (pen.Color.A, pen.Color.R, pen.Color.G, pen.Color.B);
paint.StrokeWidth = (float)pen.Width;
if (pen.DashPattern != null && pen.DashPattern.Any ()) {
var dashPathEffect = new DashPathEffect(pen.DashPattern.ToArray(), 0);
paint.SetPathEffect(dashPathEffect);
}
return paint;
}