Graphics.FromHdc Método

Definición

Crea un nuevo Graphics a partir del identificador especificado en un contexto de dispositivo.

Sobrecargas

Nombre Description
FromHdc(IntPtr)

Crea un nuevo Graphics a partir del identificador especificado en un contexto de dispositivo.

FromHdc(IntPtr, IntPtr)

Crea un nuevo Graphics a partir del identificador especificado en un contexto de dispositivo y lo controla en un dispositivo.

FromHdc(IntPtr)

Crea un nuevo Graphics a partir del identificador especificado en un contexto de dispositivo.

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

nativeint

Controlar a un contexto de dispositivo.

Devoluciones

Este método devuelve un nuevo Graphics para el contexto de dispositivo especificado.

Ejemplos

El ejemplo de código siguiente está diseñado para su uso con Windows Forms y requiere PaintEventArgse, que es un parámetro del controlador de eventos Paint. El código realiza la siguiente acción:

  • Crea una variable hdc de tipo de puntero interno y la establece en el identificador del contexto del dispositivo del objeto gráfico del formulario.

  • Crea un nuevo objeto gráfico mediante hdc.

  • Dibuja un rectángulo con el nuevo objeto gráfico (en la pantalla).

  • Libera el nuevo objeto gráfico mediante 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

Comentarios

Siempre debe llamar al Dispose método para liberar los Graphics recursos relacionados y creados por el FromHdc método .

Incluso si el dispositivo de pantalla tiene un perfil de color ICM asociado, GDI+ no usará ese perfil de forma predeterminada. Para habilitar ICM para un Graphics, construya a Graphics partir de un HDC después de pasar hdC (y ICM_ON) a la SetICMMode función. A continuación, cualquier dibujo realizado por el Graphics se ajustará según el perfil de ICM asociado al dispositivo de visualización. La habilitación de ICM dará lugar a un rendimiento más lento.

El estado del contexto del dispositivo (modo de asignación, unidad lógica y similares) en el momento en que se llama FromHdc puede afectar a la representación realizada por .Graphics

Se aplica a

FromHdc(IntPtr, IntPtr)

Crea un nuevo Graphics a partir del identificador especificado en un contexto de dispositivo y lo controla en un dispositivo.

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

nativeint

Controlar a un contexto de dispositivo.

hdevice
IntPtr

nativeint

Controle a un dispositivo.

Devoluciones

Este método devuelve un nuevo Graphics para el contexto de dispositivo y el dispositivo especificados.

Comentarios

Siempre debe llamar al Dispose método para liberar los Graphics recursos relacionados y creados por el FromHdc método .

Incluso si el dispositivo de pantalla tiene un perfil de color ICM asociado, GDI+ no usará ese perfil de forma predeterminada. Para habilitar ICM para un Graphics, construya a Graphics partir de un HDC después de pasar hdC (y ICM_ON) a la SetICMMode función. A continuación, cualquier dibujo realizado por el Graphics se ajustará según el perfil de ICM asociado al dispositivo de visualización. La habilitación de ICM dará lugar a un rendimiento más lento.

El estado del contexto del dispositivo (modo de asignación, unidad lógica y similares) en el momento en que se llama FromHdc puede afectar a la representación realizada por .Graphics

El identificador del dispositivo se usa normalmente para consultar funcionalidades de impresora específicas.

Se aplica a