2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Skiaの基本:ペイントの基本

Last updated at Posted at 2025-11-08

ペイントの基本を、実際に試しながら見てみましょう。

とりあえず描いてみる

基本的に、すべての描画メソッドは、ペイントを引数に持ちます。とりあえず、何も設定せずにペイントを作って、円を描いてみましょう。

ペイントはアンマネージドリソースです。明示的にDisposeするか、using宣言を使いましょう。

// 白く塗りつぶす
canvas.Clear( SKColors.White );
// ペイントオブジェクトを作る
using var paint = new SKPaint();
// 円を描く(中心(150,100), 半径80)
canvas.DrawCircle( 150, 100, 80, paint );

シンプルな黒い丸が出てきました。

paint1.png

色を設定してみる

今日は紫色の気分なので、紫にしてみましょう。ペイントに色を設定します。

paint.Color = SKColors.BlueViolet; // すみれ色

紫色になりました。

paint2.png

アンチエイリアスを設定してみる

よく見ると、輪郭がギザギザしていて格好悪いですね。アンチエイリアスをONにしてみましょう。

paint.IsAntialias = true; // アンチエイリアスON

滑らかになりました。

paint3.png

塗りつぶさない

では、塗りつぶした円ではなく、輪郭線の円を描くにはどうしたらいいでしょうか?

Skiaでは、塗りつぶした円を描くメソッドとか、輪郭線の円を描くメソッド、というようには分かれていません。ペイントに、描きたいのは線である旨と、線の太さを設定するだけです。

paint.Style = SKPaintStyle.Stroke; // 描きたいのは線
paint.StrokeWidth = 10; // 線の太さ

少し太めの輪になりました。

paint4.png

影を付けてみる

最後に、格好良く、影を落としてみましょう。

普通なら、影の輪を描いてから、紫色の輪を重ねて描く、というような面倒な処理になりますが、Skiaでは、イメージフィルターというものをペイントに設定します。

paint.ImageFilter = SKImageFilter.CreateDropShadow( 
    5, 5, // 影の距離
    3, 3, // 影のぼけ具合
    SKColors.Gray  // 影の色
);

簡単ですね!

paint5.png

まとめ

Skiaでは、ペイントがあらゆる描画をコントロールします。そして、ドロップシャドーのような高度なエフェクトまで、ペイントの設定だけで実現できてしまいます。


総合目次

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?