グラフィックス サービスの 3 つのカテゴリ
Windows フォームでのグラフィックスの提供は、大きく次の 3 つのカテゴリに分けられます。
2 次元 (2-D) ベクター グラフィックス
イメージング
タイポグラフィ
2 次元ベクター グラフィックス
2 次元のベクター グラフィックスは、座標系内の一連の点で指定されるプリミティブ (直線、曲線、図形など) です。 たとえば、直線は 2 つの端点によって指定され、四角形は左上隅の位置を示す点と、幅および高さを定義する数値の組み合わせによって指定されます。 単純なパスは、直線で結ばれる複数の点の配列によって指定されます。 ベジエ スプラインは、4 つの制御点で指定される複雑な曲線です。
GDI+ は、プリミティブ自体の情報を格納するクラスおよび構造体、プリミティブの描画方法についての情報を格納するクラス、および実際に描画を実行するクラスを提供します。 たとえば、Rectangle 構造体には四角形の位置とサイズが格納されます。Pen クラスには、線の色、幅、およびスタイルに関する情報が格納されます。Graphics クラスには、直線、長方形、パス、およびその他の図形を描画するためのメソッドがあります。 また、いくつかの Brush クラスは、閉じられた図形およびパスを色またはパターンで塗りつぶす方法に関する情報を格納します。
ベクター イメージ (複数のグラフィックス コマンドから成るシーケンス) はメタファイルに記録できます。 GDI+ は、メタファイルを記録、表示、および保存するための Metafile クラスを提供します。 MetafileHeader クラスと MetaHeader クラスを使用すると、メタファイル ヘッダーに格納されているデータを調べることができます。
イメージング
ベクター グラフィックスの手法では表示するのが難しい画像や、表示することができない画像もあります。 たとえば、ツール バー ボタンに表示される画像やアイコンとして表示される画像を直線と曲線の集合として指定するのは困難です。 混雑した野球場の高解像度デジタル写真をベクター手法で作成するのはさらに困難です。 このようなイメージは、画面上の各ドットの色を表す数値の配列であるビットマップとして格納されます。 GDI+ は、ビットマップを表示、操作、および保存するための Bitmap クラスを提供します。
タイポグラフィ
タイポグラフィは、さまざまなフォント、サイズ、およびスタイルでテキストを表示する機能です。 GDI+ には、この複雑なタスクをサポートするための広範なサポートが用意されています。 たとえば、GDI+ の新機能の 1 つであるサブピクセル アンチエイリアシングを使用すると、LCD 画面上により滑らかな輪郭のテキストを描画できます。
また、Windows フォームには、TextRenderer クラスで GDI 機能を使用してテキストを描画するオプションも用意されています。