Condividi tramite


Graphics.FromHdc Metodo

Definizione

Crea un nuovo Graphics dall'handle specificato a un contesto di dispositivo.

Overload

FromHdc(IntPtr, IntPtr)

Crea un nuovo Graphics dall'handle specificato a un contesto di dispositivo e gestisce in un dispositivo.

FromHdc(IntPtr)

Crea un nuovo Graphics dall'handle specificato a un contesto di dispositivo.

FromHdc(IntPtr, IntPtr)

Origine:
Graphics.cs
Origine:
Graphics.cs
Origine:
Graphics.cs
Origine:
Graphics.cs
Origine:
Graphics.cs

Crea un nuovo Graphics dall'handle specificato a un contesto di dispositivo e gestisce in 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

Parametri

hdc
IntPtr

nativeint

Handle in un contesto di dispositivo.

hdevice
IntPtr

nativeint

Handle in un dispositivo.

Restituisce

Questo metodo restituisce un nuovo Graphics per il contesto di dispositivo e il dispositivo specificati.

Commenti

È consigliabile chiamare sempre il metodo Dispose per rilasciare il Graphics e le risorse correlate create dal metodo FromHdc.

Anche se il dispositivo di visualizzazione ha un profilo di colore ICM associato, GDI+ non userà tale profilo per impostazione predefinita. Per abilitare ICM per un Graphics, costruire il Graphics da un HDC dopo aver passato hdc (e ICM_ON) alla funzione SetICMMode. Quindi qualsiasi disegno eseguito dal Graphics verrà regolato in base al profilo ICM associato al dispositivo di visualizzazione. L'abilitazione di ICM comporterà un rallentamento delle prestazioni.

Lo stato del contesto del dispositivo (modalità di mapping, unità logica e simili) al momento della chiamata FromHdc può influire sul rendering eseguito dal Graphics.

L'handle del dispositivo viene in genere usato per eseguire query su funzionalità della stampante specifiche.

Si applica a

FromHdc(IntPtr)

Origine:
Graphics.cs
Origine:
Graphics.cs
Origine:
Graphics.cs
Origine:
Graphics.cs
Origine:
Graphics.cs

Crea un nuovo Graphics dall'handle specificato a un contesto di 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

Parametri

hdc
IntPtr

nativeint

Handle in un contesto di dispositivo.

Restituisce

Questo metodo restituisce un nuovo Graphics per il contesto di dispositivo specificato.

Esempio

L'esempio di codice seguente è progettato per l'uso con Windows Form e richiede PaintEventArgse, che è un parametro del gestore eventi Paint. Il codice esegue l'azione seguente:

  • Crea una variabile di tipo puntatore interno hdc e la imposta sull'handle sul contesto di dispositivo dell'oggetto grafico del modulo.

  • Crea un nuovo oggetto grafico usando hdc.

  • Disegna un rettangolo con il nuovo oggetto grafico (sullo schermo).

  • Rilascia il nuovo oggetto grafico 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

Commenti

È consigliabile chiamare sempre il metodo Dispose per rilasciare il Graphics e le risorse correlate create dal metodo FromHdc.

Anche se il dispositivo di visualizzazione ha un profilo di colore ICM associato, GDI+ non userà tale profilo per impostazione predefinita. Per abilitare ICM per un Graphics, costruire il Graphics da un HDC dopo aver passato hdc (e ICM_ON) alla funzione SetICMMode. Quindi qualsiasi disegno eseguito dal Graphics verrà regolato in base al profilo ICM associato al dispositivo di visualizzazione. L'abilitazione di ICM comporterà un rallentamento delle prestazioni.

Lo stato del contesto del dispositivo (modalità di mapping, unità logica e simili) al momento della chiamata FromHdc può influire sul rendering eseguito dal Graphics.

Si applica a