Graphics.FromHdc Graphics.FromHdc Graphics.FromHdc Graphics.FromHdc Method

정의

디바이스 컨텍스트에 대한 지정된 핸들에서 새 Graphics를 만듭니다.Creates a new Graphics from the specified handle to a device context.

오버로드

FromHdc(IntPtr) FromHdc(IntPtr) FromHdc(IntPtr) FromHdc(IntPtr)

디바이스 컨텍스트에 대한 지정된 핸들에서 새 Graphics를 만듭니다.Creates a new Graphics from the specified handle to a device context.

FromHdc(IntPtr, IntPtr) FromHdc(IntPtr, IntPtr) FromHdc(IntPtr, IntPtr) FromHdc(IntPtr, IntPtr)

디바이스 컨텍스트에 대한 지정된 핸들과 디바이스에 대한 핸들에서 새 Graphics를 만듭니다.Creates a new Graphics from the specified handle to a device context and handle to a device.

FromHdc(IntPtr) FromHdc(IntPtr) FromHdc(IntPtr) 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 IntPtr IntPtr IntPtr

디바이스 컨텍스트에 대한 핸들입니다.Handle to a device context.

반환

이 메서드는 지정된 디바이스 컨텍스트에 대한 새 Graphics를 반환합니다.This method returns a new Graphics for the specified device context.

예제

다음 코드 예제는 Windows Forms에서 사용 하도록 설계 되었으며 필요 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+GDI+ 기본적으로 해당 프로필을 사용 하지 것입니다.Even if the display device has an associated ICM color profile, GDI+GDI+ will not use that profile by default. ICM에 사용할 수 있도록를 Graphics, 생성 합니다 Graphics HDC (및 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) FromHdc(IntPtr, IntPtr) FromHdc(IntPtr, IntPtr) 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 IntPtr IntPtr IntPtr

디바이스 컨텍스트에 대한 핸들입니다.Handle to a device context.

hdevice
IntPtr IntPtr IntPtr IntPtr

디바이스 핸들입니다.Handle to a device.

반환

이 메서드는 지정된 디바이스 컨텍스트와 디바이스에 대한 새 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+GDI+ 기본적으로 해당 프로필을 사용 하지 것입니다.Even if the display device has an associated ICM color profile, GDI+GDI+ will not use that profile by default. ICM에 사용할 수 있도록를 Graphics, 생성 합니다 Graphics HDC (및 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.

보안

SecurityPermission
비관리 코드에 액세스 합니다.for access to unmanaged code. 열거형 관련: UnmanagedCode합니다.Related enumeration: UnmanagedCode.

적용 대상