Partilhar via


Graphics.FromHdc Método

Definição

Cria um novo Graphics do identificador especificado para um contexto de dispositivo.

Sobrecargas

FromHdc(IntPtr, IntPtr)

Cria um novo Graphics do identificador especificado para um contexto de dispositivo e identificador para um dispositivo.

FromHdc(IntPtr)

Cria um novo Graphics do identificador especificado para um contexto de dispositivo.

FromHdc(IntPtr, IntPtr)

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

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

Manipule para um contexto de dispositivo.

hdevice
IntPtr

nativeint

Manipule para um dispositivo.

Retornos

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

Comentários

Você sempre deve chamar o método Dispose para liberar o Graphics e os recursos relacionados criados pelo método FromHdc.

Mesmo que o dispositivo de exibição tenha um perfil de cor ICM associado, o GDI+ não usará esse perfil por padrão. Para habilitar o ICM para um Graphics, construa o Graphics de um HDC depois de passar o HDC (e ICM_ON) para a função SetICMMode. Em seguida, qualquer desenho feito pelo Graphics será ajustado de acordo com o perfil do ICM associado ao dispositivo de exibição. Habilitar o ICM resultará em um desempenho mais lento.

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

O identificador do dispositivo normalmente é usado para consultar recursos específicos da impressora.

Aplica-se a

FromHdc(IntPtr)

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

Cria um novo Graphics do identificador especificado para um 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

Manipule para um contexto de dispositivo.

Retornos

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

Exemplos

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

  • Cria uma variável de tipo de ponteiro interno hdc e a define como o identificador para o contexto do dispositivo do objeto gráfico do formulário.

  • Cria um novo objeto gráfico usando hdc.

  • Desenha um retângulo com o novo objeto gráfico (na tela).

  • Libera 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

Comentários

Você sempre deve chamar o método Dispose para liberar o Graphics e os recursos relacionados criados pelo método FromHdc.

Mesmo que o dispositivo de exibição tenha um perfil de cor ICM associado, o GDI+ não usará esse perfil por padrão. Para habilitar o ICM para um Graphics, construa o Graphics de um HDC depois de passar o HDC (e ICM_ON) para a função SetICMMode. Em seguida, qualquer desenho feito pelo Graphics será ajustado de acordo com o perfil do ICM associado ao dispositivo de exibição. Habilitar o ICM resultará em um desempenho mais lento.

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

Aplica-se a