NGraphics:有没有办法在笔画上设置圆帽

时间:2016-08-14 21:30:29

标签: xamarin graphics xamarin.forms pen

您好我正在使用NGraphics绘制xamarin形式的笔画。在Android中,我可以绘制带圆帽的笔划,因此端点的笔划是圆的。在NGraphics中,我仍然可以绘制笔划但是端点有角。

1 个答案:

答案 0 :(得分:1)

简答:否

NGraphic的Pen类不会公开StrokeJoinsStrokeCaps等项目。

您可以随时修改源代码,将这些类型的属性添加到Pen类,并设置相应的平台相关项。

即。在Android implimentation中,私有GetPenPaint方法设置Android Paint对象,只需在适当时设置Paint.StrokeCap

`paint.StrokeCap = Paint.Cap.Round;`

参考:https://github.com/praeclarum/NGraphics/blob/master/Platforms/NGraphics.Android/AndroidPlatform.cs#L193

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;
}