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 für den Gerätekontext des Grafikobjekts des Formulars fest.

  • Erstellt mithilfe von hdcein neues Grafikobjekt.

  • 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.

Selbst wenn das Anzeigegerät über ein zugeordnetes ICM-Farbprofil verfügt, verwendet GDI+ dieses Profil standardmäßig nicht. Um ICM für zu Graphicsaktivieren, erstellen Sie aus Graphics einem HDC, nachdem Sie die HDC (und ICM_ON) an die SetICMMode Funktion übergeben haben. Anschließend wird jede Zeichnung, die Graphics von 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 von ausgeführt Graphicswird.

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.

Selbst wenn das Anzeigegerät über ein zugeordnetes ICM-Farbprofil verfügt, verwendet GDI+ dieses Profil standardmäßig nicht. Um ICM für zu Graphicsaktivieren, erstellen Sie aus Graphics einem HDC, nachdem Sie die HDC (und ICM_ON) an die SetICMMode Funktion übergeben haben. Anschließend wird jede Zeichnung, die Graphics von 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 von ausgeführt Graphicswird.

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

Gilt für: