Graphics.FromHdc Método

Definición

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

Sobrecargas

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 de un contexto de dispositivo y del identificador de un dispositivo.

FromHdc(IntPtr)

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

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

Identificador de 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 Paint controlador de eventos. El código realiza la siguiente acción:

  • Crea una variable hdc de tipo de puntero interno y la establece en el identificador para 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 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 , Graphicsconstruya a Graphics partir de un HDC después de pasar el HDC (y ICM_ON) a la SetICMMode función. A continuación, cualquier dibujo realizado por se Graphics ajustará según el perfil de ICM asociado al dispositivo de visualización. La habilitación de ICM provocará un rendimiento más lento.

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

Se aplica a

FromHdc(IntPtr, IntPtr)

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

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

Identificador de un contexto de dispositivo.

hdevice
IntPtr

nativeint

Identificador de 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 , Graphicsconstruya a Graphics partir de un HDC después de pasar el HDC (y ICM_ON) a la SetICMMode función. A continuación, cualquier dibujo realizado por se Graphics ajustará según el perfil de ICM asociado al dispositivo de visualización. La habilitación de ICM provocará un rendimiento más lento.

El estado del contexto del dispositivo (modo de asignación, unidad lógica y similar) 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