Teilen über


Graphics.FromHdc Methode

Definition

Erstellt eine neue Graphics aus dem angegebenen Handle in einen Gerätekontext.

Überlädt

FromHdc(IntPtr, IntPtr)

Erstellt eine neue Graphics aus dem angegebenen Handle zu einem Gerätekontext und handle zu einem Gerät.

FromHdc(IntPtr)

Erstellt eine neue Graphics aus dem angegebenen Handle in einen Gerätekontext.

FromHdc(IntPtr, IntPtr)

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

Erstellt eine neue Graphics aus dem angegebenen Handle zu einem Gerätekontext und handle zu einem 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

Behandeln sie einen Gerätekontext.

hdevice
IntPtr

nativeint

Behandeln sie ein Gerät.

Gibt zurück

Diese Methode gibt einen neuen 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 FromHdc-Methode erstellten Graphics und zugehörigen Ressourcen freizugeben.

Selbst wenn das Anzeigegerät über ein zugeordnetes ICM-Farbprofil verfügt, verwendet GDI+ dieses Profil nicht standardmäßig. Um ICM für eine Graphicszu aktivieren, erstellen Sie die Graphics von einem HDC, nachdem Sie die HDC -Funktion (und ICM_ON) an die SetICMMode-Funktion übergeben haben. Anschließend werden alle vom Graphics vorgenommenen Zeichnungen entsprechend dem ICM-Profil angepasst, das dem Anzeigegerät zugeordnet ist. Das Aktivieren von ICM führt zu einer langsameren Leistung.

Der Zustand des Gerätekontexts (Zuordnungsmodus, logische Einheit und ähnliches) zum Zeitpunkt des Aufrufs FromHdc kann sich auf das Rendering auswirken, das vom Graphicsdurchgeführt wird.

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

Gilt für:

FromHdc(IntPtr)

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

Erstellt eine neue Graphics aus dem angegebenen Handle in 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

Behandeln sie einen Gerätekontext.

Gibt zurück

Diese Methode gibt einen neuen Graphics für den angegebenen Gerätekontext zurück.

Beispiele

Das folgende Codebeispiel wurde für die Verwendung mit Windows Forms entwickelt und erfordert PaintEventArgse, bei dem es sich um einen Parameter des Paint-Ereignishandlers handelt. 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 mit 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 FromHdc-Methode erstellten Graphics und zugehörigen Ressourcen freizugeben.

Selbst wenn das Anzeigegerät über ein zugeordnetes ICM-Farbprofil verfügt, verwendet GDI+ dieses Profil nicht standardmäßig. Um ICM für eine Graphicszu aktivieren, erstellen Sie die Graphics von einem HDC, nachdem Sie die HDC -Funktion (und ICM_ON) an die SetICMMode-Funktion übergeben haben. Anschließend werden alle vom Graphics vorgenommenen Zeichnungen entsprechend dem ICM-Profil angepasst, das dem Anzeigegerät zugeordnet ist. Das Aktivieren von ICM führt zu einer langsameren Leistung.

Der Zustand des Gerätekontexts (Zuordnungsmodus, logische Einheit und ähnliches) zum Zeitpunkt des Aufrufs FromHdc kann sich auf das Rendering auswirken, das vom Graphicsdurchgeführt wird.

Gilt für: