英語で読む

次の方法で共有


Graphics.FromHdc メソッド

定義

指定したハンドルからデバイス コンテキストへの新しい Graphics を作成します。

オーバーロード

FromHdc(IntPtr, IntPtr)

指定したハンドルからデバイス コンテキストへの新しい Graphics を作成し、デバイスへのハンドルを作成します。

FromHdc(IntPtr)

指定したハンドルからデバイス コンテキストへの新しい Graphics を作成します。

FromHdc(IntPtr, IntPtr)

ソース:
Graphics.cs
ソース:
Graphics.cs
ソース:
Graphics.cs
ソース:
Graphics.cs
ソース:
Graphics.cs

指定したハンドルからデバイス コンテキストへの新しい Graphics を作成し、デバイスへのハンドルを作成します。

public static System.Drawing.Graphics FromHdc (IntPtr hdc, IntPtr hdevice);

パラメーター

hdc
IntPtr

デバイス コンテキストへのハンドル。

hdevice
IntPtr

デバイスへのハンドル。

戻り値

このメソッドは、指定したデバイス コンテキストとデバイスの新しい Graphics を返します。

注釈

FromHdc メソッドによって作成された Graphics と関連リソースを解放するには、常に Dispose メソッドを呼び出す必要があります。

ディスプレイ デバイスに ICM カラー プロファイルが関連付けられている場合でも、GDI+ は既定でそのプロファイルを使用しません。 Graphicsに対して ICM を有効にするには、HDC (およびICM_ON) を SetICMMode 関数に渡した後、HDC から Graphics を構築します。 その後、Graphics によって行われる描画は、ディスプレイ デバイスに関連付けられている ICM プロファイルに従って調整されます。 ICM を有効にすると、パフォーマンスが低下します。

FromHdc 呼び出し時のデバイス コンテキスト (マッピング モード、論理ユニットなど) の状態は、Graphicsによって実行されるレンダリングに影響する可能性があります。

デバイス ハンドルは、通常、特定のプリンター機能のクエリに使用されます。

適用対象

.NET 9 およびその他のバージョン
製品 バージョン
.NET 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

FromHdc(IntPtr)

ソース:
Graphics.cs
ソース:
Graphics.cs
ソース:
Graphics.cs
ソース:
Graphics.cs
ソース:
Graphics.cs

指定したハンドルからデバイス コンテキストへの新しい Graphics を作成します。

public static System.Drawing.Graphics FromHdc (IntPtr hdc);

パラメーター

hdc
IntPtr

デバイス コンテキストへのハンドル。

戻り値

このメソッドは、指定したデバイス コンテキストの新しい Graphics を返します。

次のコード例は Windows フォームで使用できるように設計されており、Paint イベント ハンドラーのパラメーターである PaintEventArgseが必要です。 このコードでは、次のアクションが実行されます。

  • hdc 内部ポインター型変数を作成し、フォームのグラフィックス オブジェクトのデバイス コンテキストへのハンドルに設定します。

  • hdcを使用して新しいグラフィックス オブジェクトを作成します。

  • 新しいグラフィックス オブジェクト (画面上) を使用して四角形を描画します。

  • hdcを使用して新しいグラフィックス オブジェクトを解放します。

private 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 and dispose of the      // Graphics object
    e.Graphics.ReleaseHdc(hdc);
    newGraphics.Dispose();
}

注釈

FromHdc メソッドによって作成された Graphics と関連リソースを解放するには、常に Dispose メソッドを呼び出す必要があります。

ディスプレイ デバイスに ICM カラー プロファイルが関連付けられている場合でも、GDI+ は既定でそのプロファイルを使用しません。 Graphicsに対して ICM を有効にするには、HDC (およびICM_ON) を SetICMMode 関数に渡した後、HDC から Graphics を構築します。 その後、Graphics によって行われる描画は、ディスプレイ デバイスに関連付けられている ICM プロファイルに従って調整されます。 ICM を有効にすると、パフォーマンスが低下します。

FromHdc 呼び出し時のデバイス コンテキスト (マッピング モード、論理ユニットなど) の状態は、Graphicsによって実行されるレンダリングに影響する可能性があります。

適用対象

.NET 9 およびその他のバージョン
製品 バージョン
.NET 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9