SkiaSharpで四角形を描く

提供: MonoBook
ナビゲーションに移動 検索に移動

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

関連項目