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

Definición

Crea un nuevo Graphics a partir del identificador especificado en un contexto de dispositivo.Creates a new Graphics from the specified handle to a device context.

Sobrecargas

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

Crea un nuevo Graphics a partir del identificador especificado en un contexto de dispositivo.Creates a new Graphics from the specified handle to a device context.

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

Crea un nuevo Graphics a partir del identificador especificado de un contexto de dispositivo y del identificador de un dispositivo.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)

Crea un nuevo Graphics a partir del identificador especificado en un contexto de dispositivo.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

Parámetros

hdc
IntPtr IntPtr IntPtr IntPtr

Identificador de un contexto de dispositivo.Handle to a device context.

Devoluciones

Este método devuelve un nuevo Graphics para el contexto de dispositivo especificado.This method returns a new Graphics for the specified device context.

Ejemplos

El siguiente ejemplo de código está diseñado para su uso con Windows Forms y requiere PaintEventArgs e, que Paint es un parámetro del controlador de eventos.The following code example is designed for use with Windows Forms, and it requires PaintEventArgse, which is a parameter of the Paint event handler. El código realiza la acción siguiente:The code performs the following action:

  • Crea una variable hdc de tipo de puntero interna y la establece en el identificador del contexto de dispositivo del objeto Graphics del formulario.Creates an internal pointer type variable hdc and sets it to the handle to the device context of the graphics object of the form.

  • Crea un nuevo objeto Graphics hdcmediante.Creates a new graphics object using hdc.

  • Dibuja un rectángulo con el nuevo objeto gráfico (en la pantalla).Draws a rectangle with the new graphics object (on the screen).

  • Libera el nuevo objeto Graphics hdcmediante.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

Comentarios

Siempre debe llamar Dispose al método para Graphics liberar y los recursos relacionados creados por el FromHdc método.You should always call the Dispose method to release the Graphics and related resources created by the FromHdc method.

Incluso si el dispositivo de pantalla tiene un perfil de color ICM GDI+GDI+ asociado, no usará dicho perfil de forma predeterminada.Even if the display device has an associated ICM color profile, GDI+GDI+ will not use that profile by default. Para habilitar ICM para un Graphics, Graphics construya a partir de una HDC después de pasar HDC (y ICM_ON) a la SetICMMode función.To enable ICM for a Graphics, construct the Graphics from an HDC after you pass the HDC (and ICM_ON) to the SetICMMode function. Después, cualquier dibujo realizado por Graphics el se ajustará según el perfil de ICM asociado al dispositivo de pantalla.Then any drawing done by the Graphics will be adjusted according to the ICM profile associated with the display device. Habilitar ICM dará lugar a un rendimiento más lento.Enabling ICM will result in slower performance.

El estado del contexto del dispositivo (modo de asignación, unidad lógica y similares) en el momento en que se FromHdc llama puede afectar a la Graphicsrepresentación realizada por.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)

Crea un nuevo Graphics a partir del identificador especificado de un contexto de dispositivo y del identificador de un dispositivo.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

Parámetros

hdc
IntPtr IntPtr IntPtr IntPtr

Identificador de un contexto de dispositivo.Handle to a device context.

hdevice
IntPtr IntPtr IntPtr IntPtr

Identificador de un dispositivo.Handle to a device.

Devoluciones

Este método devuelve un nuevo Graphics para el contexto de dispositivo y el dispositivo especificados.This method returns a new Graphics for the specified device context and device.

Comentarios

Siempre debe llamar Dispose al método para Graphics liberar y los recursos relacionados creados por el FromHdc método.You should always call the Dispose method to release the Graphics and related resources created by the FromHdc method.

Incluso si el dispositivo de pantalla tiene un perfil de color ICM GDI+GDI+ asociado, no usará dicho perfil de forma predeterminada.Even if the display device has an associated ICM color profile, GDI+GDI+ will not use that profile by default. Para habilitar ICM para un Graphics, Graphics construya a partir de una HDC después de pasar HDC (y ICM_ON) a la SetICMMode función.To enable ICM for a Graphics, construct the Graphics from an HDC after you pass the HDC (and ICM_ON) to the SetICMMode function. Después, cualquier dibujo realizado por Graphics el se ajustará según el perfil de ICM asociado al dispositivo de pantalla.Then any drawing done by the Graphics will be adjusted according to the ICM profile associated with the display device. Habilitar ICM dará lugar a un rendimiento más lento.Enabling ICM will result in slower performance.

El estado del contexto del dispositivo (modo de asignación, unidad lógica y similares) en el momento en que se FromHdc llama puede afectar a la Graphicsrepresentación realizada por.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.

El identificador de dispositivo se usa normalmente para consultar funciones específicas de la impresora.The device handle is typically used to query specific printer capabilities.

Seguridad

SecurityPermission
para el acceso a código no administrado.for access to unmanaged code. Enumeración relacionada: UnmanagedCode.Related enumeration: UnmanagedCode.

Se aplica a