Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Metodo Graphics.FromHdc (IntPtr)

 

Data di pubblicazione: ottobre 2016

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

Spazio dei nomi:   System.Drawing
Assembly:  System.Drawing (in System.Drawing.dll)

public static Graphics FromHdc(
	IntPtr hdc
)

Parametri

hdc
Type: System.IntPtr

Handle per un contesto di dispositivo.

Valore restituito

Type: System.Drawing.Graphics

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

È necessario chiamare sempre il Dispose metodo per rilasciare il Graphics e create da risorse correlate il FromHdc (metodo).

Anche se il dispositivo di visualizzazione dispone di un profilo colore ICM, GDI+ non utilizzerà tale profilo per impostazione predefinita. Per abilitare il profilo ICM per un Graphics, costruire il Graphics da un HDC dopo aver passato l'HDC (e il ICM_ON) per il SetICMMode (funzione). Qualsiasi disegno eseguito il Graphics verrà regolata in base al profilo ICM associato al dispositivo di visualizzazione. Abilitazione ICM comporterà rallentamento delle prestazioni.

Lo stato del contesto del dispositivo (modalità di mapping, unità logica e così via) al momento di chiamare FromHdc può incidere sul rendering a scopo di Graphics.

Esempio di codice seguente è progettato per l'utilizzo con Windows Form e richiede PaintEventArgse, ovvero un parametro del Paint gestore dell'evento. Nel codice vengono eseguite le seguenti azioni:

  • Crea una variabile di tipo puntatore interno hdc e imposta l'handle del contesto di periferica dell'oggetto graphics del form.

  • Crea un nuovo oggetto grafico utilizzando hdc.

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

  • Rilascia il nuovo oggetto grafico utilizzando hdc.

[System.Security.Permissions.SecurityPermission(
System.Security.Permissions.SecurityAction.LinkDemand, Flags = 
System.Security.Permissions.SecurityPermissionFlag.UnmanagedCode)]            
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();
}

.NET Framework
Disponibile da 1.1
Torna all'inizio
Mostra: