Graphics.FromHdc Método

Definição

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

Sobrecargas

FromHdc(IntPtr)

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

FromHdc(IntPtr, IntPtr)

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

FromHdc(IntPtr)

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

Identificador para um contexto de dispositivo.

Retornos

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

Exemplos

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

  • Cria uma variável hdc de tipo de ponteiro interno 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 Dispose método para liberar os Graphics recursos relacionados e criados pelo FromHdc método .

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 SetICMMode função . 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 Graphicsrenderização feita pelo .

Aplica-se a

FromHdc(IntPtr, IntPtr)

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

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

Identificador para um contexto de dispositivo.

hdevice
IntPtr

nativeint

Identificador de um dispositivo.

Retornos

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

Comentários

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

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 SetICMMode função . 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 Graphicsrenderização feita pelo .

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

Aplica-se a