Sce.PlayStation.Core.Imaging は、画像処理関連の機能を提供します。画像ファイルをロードしたり、画像の中に文字をレンダリングしたりすることができます。
Contents
Image クラスは、画像を表すクラスです。Image は、PNG, JPG, BMP, GIF画像ファイル(ただしアニメーションGIFは非対応)から作成したり、色とサイズから単色で塗られた画像を作成することができます。
Image.Resize() や Image.Crop() など、画像を変換するメソッドが提供されます。また、Image.DrawText() や Image.DrawImage() など、画像の中に文字や他の画像を貼り付けるメソッドが提供されます。
Imageからテクスチャを作成するには、Image.ToBuffer()を使用して画像のメモリイメージを取得し、Texture2D.SetPixels()に渡します。
Image.DrawText() を呼び出すことで、画像の中に文字を描画することができます。Image.DrawText() に Font オブジェクトを渡して、文字の描画に使用するフォントを指定することができます。
フォントの利用には次の2つの方法があります。
PSMが標準で搭載しているフォントを使うには、Fontクラスのインスタンスを生成する時、FontのコンストラクタにFontAlias.Systemを指定します。現在、システムフォントとして提供されているのはFontAlias.System のみです。
例: new Font(FontAlias.System, size, FontStyle.Regular),
フォントを指定して使うには以下のようにします。
Font.GetTextWidth() は、文字の描画に必要な画像の横幅を取得するメソッドです。文字列の長さに応じて、画像のサイズを決定するためにこのメソッドを使用します。
また、Font.GetTextMetrics() は、文字ごとのメトリクス情報(尺情報)を取得するメソッドです。これは文字ごとの幅や高さなどを取得するために使用します。
詳しくは、 Sce.PlayStation.Core.Imaging.CharMetrics 、 Sce.PlayStation.Core.Imaging.FontMetrics をご覧ください。