Compartir vía


Graphics.FromHdc Método

Definición

Crea un nuevo Graphics desde el identificador especificado a un contexto de dispositivo.

Sobrecargas

FromHdc(IntPtr, IntPtr)

Crea un nuevo Graphics desde el identificador especificado hasta un contexto de dispositivo y un identificador para un dispositivo.

FromHdc(IntPtr)

Crea un nuevo Graphics desde el identificador especificado a un contexto de dispositivo.

FromHdc(IntPtr, IntPtr)

Source:
Graphics.cs
Source:
Graphics.cs
Source:
Graphics.cs
Source:
Graphics.cs
Source:
Graphics.cs

Crea un nuevo Graphics desde el identificador especificado hasta un contexto de dispositivo y un identificador para 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 método Dispose para liberar el Graphics y los recursos relacionados creados por el método FromHdc.

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 una Graphics, construya el Graphics desde un HDC después de pasar hdC (y ICM_ON) a la función SetICMMode. 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 a FromHdc puede afectar a la representación realizada por el Graphics.

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

Se aplica a

FromHdc(IntPtr)

Source:
Graphics.cs
Source:
Graphics.cs
Source:
Graphics.cs
Source:
Graphics.cs
Source:
Graphics.cs

Crea un nuevo Graphics desde el identificador especificado a 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 de tipo de puntero interno hdc y la establece en el identificador en el 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 método Dispose para liberar el Graphics y los recursos relacionados creados por el método FromHdc.

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 una Graphics, construya el Graphics desde un HDC después de pasar hdC (y ICM_ON) a la función SetICMMode. 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 a FromHdc puede afectar a la representación realizada por el Graphics.

Se aplica a