デバイス コンテキストを識別する指定のハンドルから新しい Graphics オブジェクトを作成します。
Overloads Public Shared Function FromHdc( _
ByVal hdc As IntPtr _) As Graphics
[C#]
public static Graphics FromHdc(IntPtrhdc);
[C++]
public: static Graphics* FromHdc(IntPtrhdc);
[JScript]
public static function FromHdc(
hdc : IntPtr) : Graphics;
パラメータ
- hdc
デバイス コンテキストを識別するハンドル。
戻り値
このメソッドは、指定のデバイス コンテキストの新しい Graphics オブジェクトを返します。
解説
表示デバイスに対応する ICM カラー プロファイルがある場合でも、GDI+ の既定では、そのプロファイルは使用されません。ICM を Graphics オブジェクトに対して有効にするには、SetICMMode 関数に HDC (および ICM_ON) を渡し、その HDC から Graphics オブジェクトを作成します。その後、 Graphics オブジェクトによって行われるすべての描画処理は、表示デバイスに対応する ICM プロファイルに従って調整されます。ICM を有効にすると、パフォーマンスは低下します。
Graphics.FromHdc を呼び出す時点でのデバイス コンテキストの状態 (マッピング モード、論理単位など) によって、 Graphics オブジェクトによるレンダリング処理が変わることがあります。
使用例
[Visual Basic, C#] 次の例は、Windows フォームでの使用を意図してデザインされており、 Paint イベント ハンドラのパラメータである PaintEventArgs e が必要です。このコードでは次のアクションを実行します。
- 内部ポインタ型変数 hdc を作成し、フォームのグラフィックス オブジェクトのデバイス コンテキストを識別するハンドルにこの変数を設定します。
- hdc を使用して、新しいグラフィックス オブジェクトを作成します。
- 新しいグラフィックス オブジェクトで画面に四角形を描画します。
- hdc を使用して、新しいグラフィックス オブジェクトを解放します。
Public Sub FromHdcHdc(e As PaintEventArgs)
' Get handle to device context.
Dim hdc As IntPtr = e.Graphics.GetHdc()
' Create new graphics object using handle to device context.
Dim newGraphics As Graphics = Graphics.FromHdc(hdc)
' Draw rectangle to screen.
newGraphics.DrawRectangle(New Pen(Color.Red, 3), 0, 0, 200, 100)
' Release handle to device context.
e.Graphics.ReleaseHdc(hdc)
End Sub
[C#]
public void FromHdcHdc(PaintEventArgs e)
{
// Get handle to device context.
IntPtr hdc = e.Graphics.GetHdc();
// Create new graphics object using handle to device context.
Graphics newGraphics = Graphics.FromHdc(hdc);
// Draw rectangle to screen.
newGraphics.DrawRectangle(new Pen(Color.Red, 3), 0, 0, 200, 100);
// Release handle to device context.
e.Graphics.ReleaseHdc(hdc);
}
[C++, JScript] C++ および JScript のサンプルはありません。Visual Basic および C# のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン をクリックします。
必要条件
プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ
参照
Graphics クラス | Graphics メンバ | System.Drawing 名前空間 | Graphics.FromHdc オーバーロードの一覧