「SkiaSharpで四角形を描く」の版間の差分

提供: MonoBook
ナビゲーションに移動 検索に移動
(ページの作成:「SkiaSharpで四角形を描くのにはSKCanvasのDrawRectメソッドを利用する。 この手のライブラリでは「Draw〇〇」や「Fill〇〇」な…」)
 
 
5行目: 5行目:
 
何も考えずにSKCanvasのDrawRectを呼ぶと内側が塗りつぶされる。
 
何も考えずにSKCanvasのDrawRectを呼ぶと内側が塗りつぶされる。
 
<source lang="csharp">
 
<source lang="csharp">
     var rect = SKRect.Create(10, 10, 90, 90);
+
     var rect = new SKRect(10, 10, 90, 90);
  
 
     var paint = new SKPaint {
 
     var paint = new SKPaint {
17行目: 17行目:
 
塗りつぶしたくない場合はSKPaintのStyleに「SKPaintStyle.Stroke」を明示的に設定する。
 
塗りつぶしたくない場合はSKPaintのStyleに「SKPaintStyle.Stroke」を明示的に設定する。
 
<source lang="csharp">
 
<source lang="csharp">
     var rect = SKRect.Create(10, 10, 90, 90);
+
     var rect = new SKRect(10, 10, 90, 90);
  
 
     var paint = new SKPaint {
 
     var paint = new SKPaint {
25行目: 25行目:
  
 
     canvas.DrawRect(rect, paint);
 
     canvas.DrawRect(rect, paint);
 +
</source>
 +
 +
== 角丸四角形 ==
 +
角丸四角形を描画する場合はDrawRectではなくDrawRoundRectを使用する。
 +
<source lang="csharp">
 +
    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);
 
</source>
 
</source>
  
 
== 関連項目 ==
 
== 関連項目 ==
 
* [[SkiaSharpで日本語文字列を描画する]]
 
* [[SkiaSharpで日本語文字列を描画する]]
 +
* [[SkiaSharpでアンチエイリアスを有効にする]]
 
* [[SkiaSharpでSKImageをファイルに保存する]]
 
* [[SkiaSharpでSKImageをファイルに保存する]]
  
  
 
[[category: SkiaSharp]]
 
[[category: SkiaSharp]]

2019年1月11日 (金) 02:37時点における最新版

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

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