Graphics.FromHdc メソッド

定義

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

オーバーロード

FromHdc(IntPtr)

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

FromHdc(IntPtr, IntPtr)

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

FromHdc(IntPtr)

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

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

public:
 static System::Drawing::Graphics ^ FromHdc(IntPtr hdc);
public static System.Drawing.Graphics FromHdc (IntPtr hdc);
static member FromHdc : nativeint -> System.Drawing.Graphics
Public Shared Function FromHdc (hdc As IntPtr) As Graphics

パラメーター

hdc
IntPtr

nativeint

デバイス コンテキストを識別するハンドル。

戻り値

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

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

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

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

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

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

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( gcnew Pen( Color::Red,3.0f ), 0, 0, 200, 100 );

      // Release handle to device context and dispose of the      // Graphics object
      e->Graphics->ReleaseHdc( hdc );
      delete newGraphics;
   }
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();
}
<System.Security.Permissions.SecurityPermission( _
System.Security.Permissions.SecurityAction.LinkDemand, Flags := _
System.Security.Permissions.SecurityPermissionFlag.UnmanagedCode)> _
Private Sub FromHdcHdc(ByVal 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 and dispose of the Graphics 	' object
    e.Graphics.ReleaseHdc(hdc)
    newGraphics.Dispose()
End Sub

注釈

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

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

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

適用対象

FromHdc(IntPtr, IntPtr)

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

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

public:
 static System::Drawing::Graphics ^ FromHdc(IntPtr hdc, IntPtr hdevice);
public static System.Drawing.Graphics FromHdc (IntPtr hdc, IntPtr hdevice);
static member FromHdc : nativeint * nativeint -> System.Drawing.Graphics
Public Shared Function FromHdc (hdc As IntPtr, hdevice As IntPtr) As Graphics

パラメーター

hdc
IntPtr

nativeint

デバイス コンテキストを識別するハンドル。

hdevice
IntPtr

nativeint

デバイスを識別するハンドル。

戻り値

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

注釈

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

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

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

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

適用対象