Xamarin.MacでSkiaSharpを使う
Xamarin.MacでSkiaSharpを使う。
準備[編集 | ソースを編集]
NuGetから「SkiaSharp.Views」をインストールする。
貼付[編集 | ソースを編集]
Storyboardを開き「Custom Views」を貼り付け、 Identity InspectorのClassに「SKCanvasView」を設定する。
SKCanvasViewクラスを継承したものを用意し、そちらを使ったほうが行儀よいが、 今回は面倒なので直接利用している。
変数名[編集 | ソースを編集]
Assitant Editorを開き「ViewController.h」を選択する。
次にキーボードのCtrlキー押しながらマウスで「SKCanvasView」を「ViewController.h」にドラッグ&ドロップする。ドロップすると変数名を付けるダイアログが表示されるので「canvas」などと命名する。
描画処理[編集 | ソースを編集]
描画処理を記述する。 再描画が必要になるとPaintSurfaceイベントが呼ばれるので、その中に描画処理を書いておく。
using SkiaSharp;
using SkiaSharp.Views.Mac;
public partial class ViewController : NSViewController
{
// 〜〜〜 抜粋 〜〜〜
public override void ViewDidLoad()
{
base.ViewDidLoad();
// 描画処理
canvas.PaintSurface += (s, e) =>
{
// とりあえず塗りつぶしてみる
e.Surface.Canvas.Clear(SKColors.Green);
};
}
}