Graphics.FromHdc Method (IntPtr, IntPtr)


The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.

Creates a new Graphics from the specified handle to a device context and handle to a device.

Namespace:   System.Drawing
Assembly:  System.Drawing (in System.Drawing.dll)

static member FromHdc : 
        hdc:nativeint *
        hdevice:nativeint -> Graphics


Type: System.IntPtr

Handle to a device context.

Type: System.IntPtr

Handle to a device.

Return Value

Type: System.Drawing.Graphics

This method returns a new Graphics for the specified device context and device.

You should always call the Dispose method to release the Graphics and related resources created by the FromHdc method.

Even if the display device has an associated ICM color profile, GDI+ will not use that profile by default. To enable ICM for a Graphics, construct the Graphics from an HDC after you pass the HDC (and ICM_ON) to the SetICMMode function. Then any drawing done by the Graphics will be adjusted according to the ICM profile associated with the display device. Enabling ICM will result in slower performance.

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.


for access to unmanaged code. Related enumeration: UnmanagedCode.

.NET Framework
Available since 1.1
Return to top