更新 : 2007 年 11 月
.NET Framework には、グラフィックスを操作するための GDI+ アプリケーション プログラミング インターフェイス (API) があります。GDI+ は、Windows の グラフィカル デバイス インターフェイス (GDI) の高度な実装です。GDI+ を使用すると、グラフィックの作成やテキストの描画を行ったり、グラフィカル イメージをオブジェクトとして操作できます。
GDI+ は使いやすさと性能を両立するようにデザインされています。GDI+ を使用することにより、Windows フォームやコントロール上でグラフィカル イメージをレンダリングできます。Web フォーム上で GDI+ を直接使用することはできませんが、Image Web サーバー コントロールによってグラフィカル イメージを表示できます。
GDI+ について
Windows フォーム コントロールを作成するときには、GDI+ を使用してイメージへアクセスし、更新できます。また、GDI+ を使用して、アプリケーションのユーザー インターフェイスとは無関係に、独自のイメージを作成することもできます。
.NET Framework でイメージ上に描画するには、イメージに関連付けられた Graphics オブジェクトを使用する必要があります。
場合によっては、イメージの Graphics オブジェクトを直接取得できることがあります。たとえば、Windows フォーム コントロールを作成するときには、OnPaint メソッドをオーバーライドして、コントロールのイメージに対応する Graphics オブジェクトにアクセスできます。
その他の場合、たとえば独自のイメージを作成するときには、グラフィックス オブジェクトを作成する必要があります。FromImage 共有メソッドは、イメージを引数に受け取り、そのイメージに関連付けられた Graphics オブジェクトを返します。
Graphics クラスには、描画操作およびイメージ操作のメソッドが数多くあります。よく使用するメソッドの一部を以下に示します。
線を描画するためのメソッド : DrawArc、DrawBezier、DrawEllipse、DrawImage、DrawLine、DrawPolygon、DrawRectangle、および DrawString。
図形を塗りつぶすためのメソッド : FillClosedCurve、FillEllipse、FillPath、FillPolygon、および FillRectangle。
描画サーフェイスをクリアするためのメソッド : Clear。
上記のメソッドの中には、System.Drawing 名前空間で定義されている構造体またはクラスを引数として受け取るものがあります。次の表は、特によく使用する GDI+ のクラスおよび構造体の一覧です。
クラス/構造体 |
説明 |
---|---|
GDI+ ビットマップをカプセル化します。GDI+ ビットマップは、グラフィックス イメージのピクセル データとその属性で構成されます。Bitmap は、ピクセル データで定義されるイメージの操作に使用するオブジェクトです。 |
|
すべての標準色のブラシを定義します。 |
|
ARGB カラーを表します。 |
|
フォント フェイス、ポイント数、スタイル属性など、テキストの特定の形式を定義します。 |
|
直線および曲線の描画に使用するオブジェクトを定義します。 |
|
すべての標準色のペンを定義します。 |
|
2 次元面の 1 点を定義する、順序付けされた整数の X 座標と Y 座標のペアを表します。 |
|
四角形の位置とサイズを表す 4 つの整数を格納します。もっと高度な領域関数が必要な場合は、Region オブジェクトを使用します。 |
|
単一色のブラシを定義します。ブラシは、四角形、楕円、扇形、多角形、パスなどのグラフィックス図形の塗りつぶしに使用します。 |
|
TextureBrush クラスの各プロパティは、イメージを使用して図形の内部を塗りつぶす Brush オブジェクトです。 |
リソースの管理
描画クラスの多くは、アンマネージ システム リソースをカプセル化しているため、IDisposable を実装しています。これらのいずれかのクラスの新しいインスタンスを作成する場合は、オブジェクトの使用が済んだときに、クラスの Dispose メソッドを呼び出す必要があります。
または、Using ステートメントでオブジェクトを作成することもできます。この場合、オブジェクトの Dispose メソッドが暗黙的に呼び出されます。詳細については、「オブジェクトの有効期間 : オブジェクトの作成と破棄」および「Using ステートメント (Visual Basic)」を参照してください。
関連項目
グラフィックス (Visual Basic 6.0 ユーザー向け)
Visual Basic 2005 におけるグラフィック レンダリング モデルの変更点について説明します。Windows フォームにおけるグラフィックスと描画
Windows フォーム アプリケーションでグラフィックスを使用するためのロードマップです。グラフィックスの概要 (Windows フォーム)
グラフィックス関連のマネージ クラスの概要を示します。GDI+ マネージ コードについて
GDI+ のマネージ クラスに関する情報を示します。マネージ グラフィックス クラスの使用
GDI+ のマネージ クラスを使用してさまざまなタスクを実行する方法を説明します。コントロールのカスタム描画およびレンダリング
コントロールの描画のためのコードを提供する方法について説明します。Image Web サーバー コントロールの概要
Web フォーム ページにイメージを表示し、コードでイメージを管理するためのコントロールについて説明します。イメージ エディタ
イメージ エディタを使用してアプリケーション用のイメージ ファイルを作成する方法について説明するトピックへのリンクを示します。