Graphics.FromHdc Método

Definição

Cria um novo Graphics do handle especificado para o contexto de um dispositivo.

Sobrecargas

Name Description
FromHdc(IntPtr, IntPtr)

Cria um novo Graphics handle especificado para um contexto de dispositivo e um handle para um dispositivo.

FromHdc(IntPtr)

Cria um novo Graphics do handle especificado para o contexto de um dispositivo.

FromHdc(IntPtr, IntPtr)

Origem:
Graphics.cs
Origem:
Graphics.cs
Origem:
Graphics.cs
Origem:
Graphics.cs
Origem:
Graphics.cs
Origem:
Graphics.cs
Origem:
Graphics.cs
Origem:
Graphics.cs

Cria um novo Graphics handle especificado para um contexto de dispositivo e um handle para um 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

Handle para o contexto de um dispositivo.

hdevice
IntPtr

nativeint

Manuseio para um dispositivo.

Devoluções

Este método retorna um novo Graphics para o contexto e dispositivo especificados.

Observações

Deve sempre chamar o Dispose método para libertar os Graphics recursos relacionados criados pelo FromHdc método.

Mesmo que o dispositivo de visualização tenha um perfil de cor ICM associado, o GDI+ não usará esse perfil por defeito. Para ativar o ICM para um Graphics, constrói o Graphics a partir de um HDC depois de passar o HDC (e ICM_ON) para a SetICMMode função. Depois, qualquer desenho feito pelo Graphics será ajustado de acordo com o perfil ICM associado ao dispositivo de visualização. Ativar o ICM resultará num desempenho mais lento.

O estado do contexto do dispositivo (modo de mapeamento, unidade lógica e afins) no momento em que chama FromHdc pode afetar a renderização feita pelo Graphics.

O handle do dispositivo é normalmente usado para consultar capacidades específicas da impressora.

Aplica-se a

FromHdc(IntPtr)

Origem:
Graphics.cs
Origem:
Graphics.cs
Origem:
Graphics.cs
Origem:
Graphics.cs
Origem:
Graphics.cs
Origem:
Graphics.cs
Origem:
Graphics.cs
Origem:
Graphics.cs

Cria um novo Graphics do handle especificado para o contexto de um 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

Handle para o contexto de um dispositivo.

Devoluções

Este método retorna um novo Graphics para o contexto do dispositivo especificado.

Exemplos

O seguinte exemplo de código foi concebido para uso com Windows Forms e requer PaintEventArgse, que é um parâmetro do tratador de eventos Paint. O código executa a seguinte ação:

  • Cria uma variável hdc interna de tipo ponteiro e define-a para o handle do contexto do dispositivo do objeto gráfico da forma.

  • Cria um novo objeto gráfico usando hdc.

  • Desenha um retângulo com o novo objeto gráfico (no ecrã).

  • Liberta o novo objeto gráfico usando 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

Observações

Deve sempre chamar o Dispose método para libertar os Graphics recursos relacionados criados pelo FromHdc método.

Mesmo que o dispositivo de visualização tenha um perfil de cor ICM associado, o GDI+ não usará esse perfil por defeito. Para ativar o ICM para um Graphics, constrói o Graphics a partir de um HDC depois de passar o HDC (e ICM_ON) para a SetICMMode função. Depois, qualquer desenho feito pelo Graphics será ajustado de acordo com o perfil ICM associado ao dispositivo de visualização. Ativar o ICM resultará num desempenho mais lento.

O estado do contexto do dispositivo (modo de mapeamento, unidade lógica e afins) no momento em que chama FromHdc pode afetar a renderização feita pelo Graphics.

Aplica-se a