Graphics.FromHdc Methode

Definition

Erstellt ein neues Graphics aus dem angegebenen Handle für einen Gerätekontext.

Überlädt

FromHdc(IntPtr)

Erstellt ein neues Graphics aus dem angegebenen Handle für einen Gerätekontext.

FromHdc(IntPtr, IntPtr)

Erstellt ein neues Graphics aus dem angegebenen Handle für einen Gerätekontext und einem Handle für ein Gerät.

FromHdc(IntPtr)

Quelle:
Graphics.cs
Quelle:
Graphics.cs
Quelle:
Graphics.cs

Erstellt ein neues Graphics aus dem angegebenen Handle für einen Gerätekontext.

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

Parameter

hdc
IntPtr

nativeint

Handle für einen Gerätekontext.

Gibt zurück

Diese Methode gibt ein neues Graphics für den angegebenen Gerätekontext zurück.

Beispiele

Das folgende Codebeispiel ist für die Verwendung mit Windows Forms konzipiert und erfordert PaintEventArgse, was ein Parameter des Paint Ereignishandlers ist. Der Code führt die folgende Aktion aus:

  • Erstellt eine interne Zeigertypvariable hdc und legt sie auf das Handle auf den Gerätekontext des Grafikobjekts des Formulars fest.

  • Erstellt ein neues Grafikobjekt mit hdc.

  • Zeichnet ein Rechteck mit dem neuen Grafikobjekt (auf dem Bildschirm).

  • Gibt das neue Grafikobjekt mithilfe von hdcfrei.

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

Hinweise

Sie sollten immer die Dispose -Methode aufrufen, um die von der GraphicsFromHdc -Methode erstellten und zugehörigen Ressourcen freizugeben.

Auch wenn das Anzeigegerät über ein zugeordnetes ICM-Farbprofil verfügt, verwendet GDI+ dieses Profil standardmäßig nicht. Um ICM für ein Graphicszu aktivieren, erstellen Sie das Graphics aus einem HDC, nachdem Sie die HDC (und ICM_ON) an die SetICMMode Funktion übergeben haben. Anschließend wird jede Zeichnung, die von dem Graphics ausgeführt wird, entsprechend dem ICM-Profil angepasst, das dem Anzeigegerät zugeordnet ist. Die Aktivierung von ICM führt zu einer langsameren Leistung.

Der Zustand des Gerätekontexts (Zuordnungsmodus, logische Einheit usw.) zum Zeitpunkt des Aufrufs FromHdc kann sich auf das Rendering auswirken, das Graphicsvon ausgeführt wird.

Gilt für:

FromHdc(IntPtr, IntPtr)

Quelle:
Graphics.cs
Quelle:
Graphics.cs
Quelle:
Graphics.cs

Erstellt ein neues Graphics aus dem angegebenen Handle für einen Gerätekontext und einem Handle für ein Gerät.

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

Parameter

hdc
IntPtr

nativeint

Handle für einen Gerätekontext.

hdevice
IntPtr

nativeint

Handle für ein Gerät.

Gibt zurück

Diese Methode gibt ein neues Graphics für den angegebenen Gerätekontext und das angegebene Gerät zurück.

Hinweise

Sie sollten immer die Dispose -Methode aufrufen, um die von der GraphicsFromHdc -Methode erstellten und zugehörigen Ressourcen freizugeben.

Auch wenn das Anzeigegerät über ein zugeordnetes ICM-Farbprofil verfügt, verwendet GDI+ dieses Profil standardmäßig nicht. Um ICM für ein Graphicszu aktivieren, erstellen Sie das Graphics aus einem HDC, nachdem Sie die HDC (und ICM_ON) an die SetICMMode Funktion übergeben haben. Anschließend wird jede Zeichnung, die von dem Graphics ausgeführt wird, entsprechend dem ICM-Profil angepasst, das dem Anzeigegerät zugeordnet ist. Die Aktivierung von ICM führt zu einer langsameren Leistung.

Der Zustand des Gerätekontexts (Zuordnungsmodus, logische Einheit usw.) zum Zeitpunkt des Aufrufs FromHdc kann sich auf das Rendering auswirken, das Graphicsvon ausgeführt wird.

Das Gerätehandle wird in der Regel verwendet, um bestimmte Druckerfunktionen abzufragen.

Gilt für: