Graphics.FromHdc メソッド

定義

デバイス コンテキストを識別する指定のハンドルから新しい Graphics を作成します。Creates a new Graphics from the specified handle to a device context.

オーバーロード

FromHdc(IntPtr)

デバイス コンテキストを識別する指定のハンドルから新しい Graphics を作成します。Creates a new Graphics from the specified handle to a device context.

FromHdc(IntPtr, IntPtr)

デバイス コンテキストを識別する指定のハンドルと、デバイスを識別する指定のハンドルから、新しい Graphics を作成します。Creates a new Graphics from the specified handle to a device context and handle to a device.

FromHdc(IntPtr)

デバイス コンテキストを識別する指定のハンドルから新しい Graphics を作成します。Creates a new Graphics from the specified handle to a device context.

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

デバイス コンテキストを識別するハンドル。Handle to a device context.

戻り値

Graphics

このメソッドは、指定のデバイス コンテキストの新しい Graphics を返します。This method returns a new Graphics for the specified device context.

次のコード例は、Windows フォームで使用するように設計されてい PaintEventArgs e ます。これは、イベントハンドラーのパラメーターであるを必要とし Paint ます。The following code example is designed for use with Windows Forms, and it requires PaintEventArgse, which is a parameter of the Paint event handler. このコードは、次のアクションを実行します。The code performs the following action:

  • 内部ポインター型の変数を作成 hdc し、フォームのグラフィックスオブジェクトのデバイスコンテキストを指すハンドルに設定します。Creates an internal pointer type variable hdc and sets it to the handle to the device context of the graphics object of the form.

  • を使用して新しいグラフィックスオブジェクトを作成し hdc ます。Creates a new graphics object using hdc.

  • 新しいグラフィックスオブジェクト (画面上) で四角形を描画します。Draws a rectangle with the new graphics object (on the screen).

  • を使用して、新しいグラフィックスオブジェクトを解放し hdc ます。Releases the new graphics object using 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;
   }
[System.Security.Permissions.SecurityPermission(
System.Security.Permissions.SecurityAction.LinkDemand, Flags = 
System.Security.Permissions.SecurityPermissionFlag.UnmanagedCode)]            
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 ます。You should always call the Dispose method to release the Graphics and related resources created by the FromHdc method.

ディスプレイデバイスに ICM カラープロファイルが関連付けられている場合でも、GDI + は既定ではそのプロファイルを使用しません。Even if the display device has an associated ICM color profile, GDI+ will not use that profile by default. の ICM を有効にするには、hdc Graphics Graphics (および ICM_ON) を関数に渡した後に、hdc からを構築し SetICMMode ます。To enable ICM for a Graphics, construct the Graphics from an HDC after you pass the HDC (and ICM_ON) to the SetICMMode function. その後、によって実行されるすべての描画 Graphics は、ディスプレイデバイスに関連付けられている ICM プロファイルに従って調整されます。Then any drawing done by the Graphics will be adjusted according to the ICM profile associated with the display device. ICM を有効にすると、パフォーマンスが低下します。Enabling ICM will result in slower performance.

を呼び出したときのデバイスコンテキストの状態 (マッピングモード、論理ユニット、および like) は FromHdc 、によって実行されるレンダリングに影響を与える可能性が Graphics あります。The state of the device context (mapping mode, logical unit, and the like) at the time you call FromHdc can affect rendering done by the Graphics.

適用対象

FromHdc(IntPtr, IntPtr)

デバイス コンテキストを識別する指定のハンドルと、デバイスを識別する指定のハンドルから、新しい Graphics を作成します。Creates a new Graphics from the specified handle to a device context and handle to a device.

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

デバイス コンテキストを識別するハンドル。Handle to a device context.

hdevice
IntPtr

デバイスを識別するハンドル。Handle to a device.

戻り値

Graphics

このメソッドは、指定のデバイス コンテキストおよびデバイスの新しい Graphics を返します。This method returns a new Graphics for the specified device context and device.

注釈

メソッドを呼び出して、 Dispose Graphics メソッドによって作成されたおよび関連リソースを解放する必要があり FromHdc ます。You should always call the Dispose method to release the Graphics and related resources created by the FromHdc method.

ディスプレイデバイスに ICM カラープロファイルが関連付けられている場合でも、GDI + は既定ではそのプロファイルを使用しません。Even if the display device has an associated ICM color profile, GDI+ will not use that profile by default. の ICM を有効にするには、hdc Graphics Graphics (および ICM_ON) を関数に渡した後に、hdc からを構築し SetICMMode ます。To enable ICM for a Graphics, construct the Graphics from an HDC after you pass the HDC (and ICM_ON) to the SetICMMode function. その後、によって実行されるすべての描画 Graphics は、ディスプレイデバイスに関連付けられている ICM プロファイルに従って調整されます。Then any drawing done by the Graphics will be adjusted according to the ICM profile associated with the display device. ICM を有効にすると、パフォーマンスが低下します。Enabling ICM will result in slower performance.

を呼び出したときのデバイスコンテキストの状態 (マッピングモード、論理ユニット、および like) は FromHdc 、によって実行されるレンダリングに影響を与える可能性が Graphics あります。The state of the device context (mapping mode, logical unit, and the like) at the time you call FromHdc can affect rendering done by the Graphics.

デバイスハンドルは、通常、特定のプリンターの機能を照会するために使用されます。The device handle is typically used to query specific printer capabilities.

適用対象