0

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

4

1 回答 1

1

简短的回答:没有

NGraphic 的Pen类不公开像StrokeJoins和之类的项目StrokeCaps

您始终可以修改源代码以将这些类型的属性添加到Pen类并设置适当的平台相关项。

即在Android实现中,私有GetPenPaint方法设置AndroidPaint对象,只需要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;
}
于 2016-08-14T22:28:50.227 回答