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.ReleaseHdc (IntPtr)

 

Data di pubblicazione: novembre 2016

Rilascia un handle per un contesto di dispositivo ottenuto da una precedente chiamata al metodo GetHdc di questo oggetto Graphics.

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

public void ReleaseHdc(
	IntPtr hdc
)

Parametri

hdc
Type: System.IntPtr

Handle per un contesto di dispositivo ottenuto da una precedente chiamata al metodo GetHdc di questo oggetto Graphics.

Il contesto di dispositivo è una struttura di Windows basata su GDI che definisce un set di oggetti grafici e i relativi attributi associati, nonché le modalità grafiche che influisce sull'output.

Le chiamate al GetHdc e ReleaseHdc i metodi devono essere presenti in coppia. Nell'ambito di un GetHdc e ReleaseHdc coppia di metodi, in genere eseguono chiamate solo a GDI funzioni. Chiama nel cui ambito apportate GDI+ metodi del Graphics che ha prodotto il hdc parametro esito negativo con un ObjectBusy errore. Inoltre, GDI+ Ignora tutte le modifiche di stato al Graphics del hdc parametro nelle operazioni successive.

Esempio di codice seguente è progettato per l'utilizzo con Windows Form e richiede PaintEventArgse, ovvero un parametro del Paint gestore dell'evento. Nell'esempio viene illustrata la chiamata Windows GDI funzione per eseguire la stessa attività come un GDI+ Graphics metodo.  Nel codice vengono eseguite le seguenti azioni:

  • Definisce l'interoperabilità DllImportAttribute attributo per il file DLL di Windows gdi32. dll. Questa DLL contiene il valore desiderato GDI funzione e definisce il Rectangle funzione nella DLL come esterno.

  • Crea una penna rossa.

  • Con la penna, disegna un rettangolo sullo schermo, utilizzando il GDI+ DrawRectangle metodo. 

  • Definisce una variabile di tipo puntatore interno hdc e imposta il valore per l'handle per il contesto di dispositivo del form.

  • Disegna un rettangolo sullo schermo, utilizzando il GDI Rectangle (funzione). 

  • Rilascia il contesto di dispositivo rappresentato dal hdc parametro.

[System.Runtime.InteropServices.DllImportAttribute("gdi32.dll")]
private static extern bool Rectangle2(
    IntPtr hdc,
    int ulCornerX, int ulCornerY,
    int lrCornerX, int lrCornerY);

[System.Security.Permissions.SecurityPermission(
System.Security.Permissions.SecurityAction.LinkDemand, Flags = 
System.Security.Permissions.SecurityPermissionFlag.UnmanagedCode)]            
private void GetHdcForGDI2(PaintEventArgs e)
{

    // Create pen.
    Pen redPen = new Pen(Color.Red, 1);

    // Draw rectangle with GDI+.
    e.Graphics.DrawRectangle(redPen, 10, 10, 100, 50);

    // Get handle to device context.
    IntPtr hdc = e.Graphics.GetHdc();

    // Draw rectangle with GDI using default pen.
    Rectangle2(hdc, 10, 70, 110, 120);

    // Release handle to device context.
    e.Graphics.ReleaseHdc(hdc);
}

SecurityPermission

for access to unmanaged code. Related enumeration: F:System.Security.Permissions.SecurityPermissionFlag.UnmanagedCode.

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