2016-08-14 7 views
0

こんにちは私はNGraphicsを使用して、xamarin形式のストロークを描画しています。 Androidでは、ラウンドキャップを有効にしてストロークを描くことができるため、端点のストロークは丸くなります。 NGraphicsでは、まだストロークを描くことができますが、端点にはコーナーがあります。NGraphics:ストロークでラウンドキャップを使用する方法はありますか?

答えて

1

短い答え:StrokeJoinsStrokeCapsなどのアイテムを公開していないん

NGraphicのPenクラス。

これらのタイプのプロパティをPenクラスに追加し、適切なプラットフォームに依存する項目を設定するために、ソースコードを変更することができます。

すなわちアンドロイド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; 
} 
+0

おかげで、あなたにresponsedを – LittleFunny

関連する問題