「MonoGameでSkiaSharpを使う」を編集中
ナビゲーションに移動
検索に移動
この編集を取り消せます。 下記の差分を確認して、本当に取り消していいか検証してください。よろしければ変更を保存して取り消しを完了してください。
最新版 | 編集中の文章 | ||
1行目: | 1行目: | ||
− | + | MonoGameでSkiaSharpを使えれば、MonoGame標準では微妙に抜け落ちてる線を引いたり、丸を描いたり、塗りつぶしたりといった描画処理を簡単に行える。 | |
+ | また、MonoGameが不得意な文字列の描画をTrue Type Fontを使って組版ばりの品質で行える。 | ||
+ | 日本語文字列の描画も大丈夫。 | ||
− | ==環境構築== | + | == 環境構築 == |
基本的にMonoGameプロジェクトにNuGetでSkiaSharpを突っ込むだけで利用できる。 | 基本的にMonoGameプロジェクトにNuGetでSkiaSharpを突っ込むだけで利用できる。 | ||
9行目: | 11行目: | ||
packages.configを書き換える必要がある。この点には注意する必要がある。 | packages.configを書き換える必要がある。この点には注意する必要がある。 | ||
− | + | 後はSkiaSharpのSKBitmapをMonoGameのTexture2Dに変換できれば楽勝だ。 | |
<source lang="csharp"> | <source lang="csharp"> | ||
using System; | using System; | ||
27行目: | 29行目: | ||
</source> | </source> | ||
− | + | 試しに円を描いてみる。 | |
<source lang="csharp"> | <source lang="csharp"> | ||
using System; | using System; | ||
74行目: | 76行目: | ||
// 虹色グラデーションシェーダー | // 虹色グラデーションシェーダー | ||
var shader = SKShader.CreateSweepGradient( | var shader = SKShader.CreateSweepGradient( | ||
− | new SKPoint( | + | new SKPoint(50, 50), |
new[] { | new[] { | ||
new SKColor(0x00,0x00,0xff), | new SKColor(0x00,0x00,0xff), | ||
88行目: | 90行目: | ||
{ | { | ||
Shader = shader, | Shader = shader, | ||
− | StrokeWidth = | + | StrokeWidth = 10, |
IsStroke = true, | IsStroke = true, | ||
}; | }; | ||
// 円を描く | // 円を描く | ||
− | canvas.DrawCircle( | + | canvas.DrawCircle(50, 50, 25, paint); |
// 描画コマンド実行 | // 描画コマンド実行 | ||
126行目: | 128行目: | ||
</source> | </source> | ||
− | ==関連項目== | + | == 関連項目 == |
− | + | * [[SkiaSharp]] | |
− | *[[SkiaSharp | + | * [[SkiaSharpでSKImageをファイルに保存する]] |
− | |||
− | *[[SkiaSharpでSKImageをファイルに保存する]] | ||
[[category: MonoGame]] | [[category: MonoGame]] | ||
[[category: SkiaSharp]] | [[category: SkiaSharp]] |