다음을 통해 공유


Graphics.FromHdc 메서드

정의

지정된 핸들에서 디바이스 컨텍스트로의 새 Graphics 만듭니다.

오버로드

FromHdc(IntPtr, IntPtr)

지정된 핸들에서 디바이스 컨텍스트로 새 Graphics 만들고 디바이스에 대한 핸들을 만듭니다.

FromHdc(IntPtr)

지정된 핸들에서 디바이스 컨텍스트로의 새 Graphics 만듭니다.

FromHdc(IntPtr, IntPtr)

Source:
Graphics.cs
Source:
Graphics.cs
Source:
Graphics.cs
Source:
Graphics.cs
Source:
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 메서드를 호출하여 FromHdc 메서드에서 만든 Graphics 및 관련 리소스를 해제해야 합니다.

디스플레이 디바이스에 연결된 ICM 색 프로필이 있더라도 GDI+는 기본적으로 해당 프로필을 사용하지 않습니다. Graphics대해 ICM을 사용하도록 설정하려면 HDC(및 ICM_ON)를 SetICMMode 함수에 전달한 후 HDC에서 Graphics 구성합니다. 그런 다음 Graphics 수행된 모든 드로잉은 디스플레이 디바이스와 연결된 ICM 프로필에 따라 조정됩니다. ICM을 사용하도록 설정하면 성능이 저하됩니다.

FromHdc 호출할 때 디바이스 컨텍스트의 상태(매핑 모드, 논리 단위 등)는 Graphics수행된 렌더링에 영향을 줄 수 있습니다.

디바이스 핸들은 일반적으로 특정 프린터 기능을 쿼리하는 데 사용됩니다.

적용 대상

FromHdc(IntPtr)

Source:
Graphics.cs
Source:
Graphics.cs
Source:
Graphics.cs
Source:
Graphics.cs
Source:
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 Forms에서 사용하도록 설계되었으며 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 메서드를 호출하여 FromHdc 메서드에서 만든 Graphics 및 관련 리소스를 해제해야 합니다.

디스플레이 디바이스에 연결된 ICM 색 프로필이 있더라도 GDI+는 기본적으로 해당 프로필을 사용하지 않습니다. Graphics대해 ICM을 사용하도록 설정하려면 HDC(및 ICM_ON)를 SetICMMode 함수에 전달한 후 HDC에서 Graphics 구성합니다. 그런 다음 Graphics 수행된 모든 드로잉은 디스플레이 디바이스와 연결된 ICM 프로필에 따라 조정됩니다. ICM을 사용하도록 설정하면 성능이 저하됩니다.

FromHdc 호출할 때 디바이스 컨텍스트의 상태(매핑 모드, 논리 단위 등)는 Graphics수행된 렌더링에 영향을 줄 수 있습니다.

적용 대상