SkiaSharpで四角形を描く

提供: MonoBook
2019年1月11日 (金) 02:37時点における180.15.192.154 (トーク)による版
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
ナビゲーションに移動 検索に移動

SkiaSharpで四角形を描くのにはSKCanvasのDrawRectメソッドを利用する。 この手のライブラリでは「Draw〇〇」や「Fill〇〇」などがあるのが定番だが、SkiaSharpでは「Draw〇〇」のみで引数として渡すSKPaintで制御する方式となっている。

塗り潰しあり[編集 | ソースを編集]

何も考えずにSKCanvasのDrawRectを呼ぶと内側が塗りつぶされる。

    var rect = new SKRect(10, 10, 90, 90);

    var paint = new SKPaint {
        SKColors.Blue,
    };

    canvas.DrawRect(rect, paint);

塗り潰しなし[編集 | ソースを編集]

塗りつぶしたくない場合はSKPaintのStyleに「SKPaintStyle.Stroke」を明示的に設定する。

    var rect = new SKRect(10, 10, 90, 90);

    var paint = new SKPaint {
        Style = SKPaintStyle.Stroke,
        StrokeWidth = 3,
    };

    canvas.DrawRect(rect, paint);

角丸四角形[編集 | ソースを編集]

角丸四角形を描画する場合はDrawRectではなくDrawRoundRectを使用する。

    var rect = new SKRoundRect(
        new SKRect(10, 10, 90, 90), 
        xRadius:10, 
        yRadius:10);

    var paint = new SKPaint {
        Style = SKPaintStyle.Stroke,
        StrokeWidth = 2,
    };

    canvas.DrawRoundRect(rect, paint);

関連項目[編集 | ソースを編集]