NGraphics: есть ли способ сделать круглую шапку на мазках

Здравствуйте, я использую NGraphics для рисования штрихов для формы xamarin. В Android я могу нарисовать обводку с включенной круглой крышкой, чтобы обводка конечных точек была круглой. В NGraphics я все еще могу нарисовать обводку, но у конечных точек есть углы.

1 ответ

Решение

Краткий ответ: нет

NGraphic's Pen Класс не выставляет такие предметы, как StrokeJoins а также StrokeCaps,

Вы всегда можете изменить исходный код, чтобы добавить эти типы свойств в Pen Класс и установить соответствующие элементы, зависящие от платформы.

то есть в реализации Android, частный 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;
}
Другие вопросы по тегам