Sdílet prostřednictvím


Graphics.FromHdc Metoda

Definice

Vytvoří nový Graphics ze zadaného popisovače do kontextu zařízení.

Přetížení

FromHdc(IntPtr, IntPtr)

Vytvoří nový Graphics ze zadaného popisovače do kontextu zařízení a popisovač zařízení.

FromHdc(IntPtr)

Vytvoří nový Graphics ze zadaného popisovače do kontextu zařízení.

FromHdc(IntPtr, IntPtr)

Zdroj:
Graphics.cs
Zdroj:
Graphics.cs
Zdroj:
Graphics.cs
Zdroj:
Graphics.cs
Zdroj:
Graphics.cs

Vytvoří nový Graphics ze zadaného popisovače do kontextu zařízení a popisovač zařízení.

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

Parametry

hdc
IntPtr

nativeint

Zpracování kontextu zařízení

hdevice
IntPtr

nativeint

Popisovač zařízení

Návraty

Tato metoda vrátí novou Graphics pro zadaný kontext zařízení a zařízení.

Poznámky

Vždy byste měli zavolat metodu Dispose, která uvolní Graphics a související prostředky vytvořené metodou FromHdc.

I když má zařízení pro zobrazení přidružený barevný profil ICM, GDI+ tento profil ve výchozím nastavení nepoužije. Pokud chcete icM povolit pro Graphics, vytvořte Graphics z HDC po předání HDC (a ICM_ON) do funkce SetICMMode. Potom se všechny výkresy provedené Graphics upraví podle profilu ICM přidruženého k zobrazovacímu zařízení. Povolení ICM způsobí pomalejší výkon.

Stav kontextu zařízení (režim mapování, logická jednotka a podobně) v době volání FromHdc může ovlivnit vykreslování provedené Graphics.

Popisovač zařízení se obvykle používá k dotazování konkrétních možností tiskárny.

Platí pro

FromHdc(IntPtr)

Zdroj:
Graphics.cs
Zdroj:
Graphics.cs
Zdroj:
Graphics.cs
Zdroj:
Graphics.cs
Zdroj:
Graphics.cs

Vytvoří nový Graphics ze zadaného popisovače do kontextu zařízení.

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

Parametry

hdc
IntPtr

nativeint

Zpracování kontextu zařízení

Návraty

Tato metoda vrátí novou Graphics pro zadaný kontext zařízení.

Příklady

Následující příklad kódu je určený pro použití s Windows Forms a vyžaduje PaintEventArgse, což je parametr obslužné rutiny události Paint. Kód provede následující akci:

  • Vytvoří interní proměnnou typu ukazatele hdc a nastaví ji na popisovač na kontext zařízení grafického objektu formuláře.

  • Vytvoří nový grafický objekt pomocí hdc.

  • Nakreslí obdélník s novým grafickým objektem (na obrazovce).

  • Uvolní nový grafický objekt pomocí hdc.

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

Poznámky

Vždy byste měli zavolat metodu Dispose, která uvolní Graphics a související prostředky vytvořené metodou FromHdc.

I když má zařízení pro zobrazení přidružený barevný profil ICM, GDI+ tento profil ve výchozím nastavení nepoužije. Pokud chcete icM povolit pro Graphics, vytvořte Graphics z HDC po předání HDC (a ICM_ON) do funkce SetICMMode. Potom se všechny výkresy provedené Graphics upraví podle profilu ICM přidruženého k zobrazovacímu zařízení. Povolení ICM způsobí pomalejší výkon.

Stav kontextu zařízení (režim mapování, logická jednotka a podobně) v době volání FromHdc může ovlivnit vykreslování provedené Graphics.

Platí pro