Graphics.FromHdc Metod

Definition

Skapar en ny Graphics från det angivna handtaget till en enhetskontext.

Överlagringar

Name Description
FromHdc(IntPtr, IntPtr)

Skapar en ny Graphics från det angivna handtaget till en enhetskontext och hanterar till en enhet.

FromHdc(IntPtr)

Skapar en ny Graphics från det angivna handtaget till en enhetskontext.

FromHdc(IntPtr, IntPtr)

Källa:
Graphics.cs
Källa:
Graphics.cs
Källa:
Graphics.cs
Källa:
Graphics.cs
Källa:
Graphics.cs
Källa:
Graphics.cs
Källa:
Graphics.cs
Källa:
Graphics.cs

Skapar en ny Graphics från det angivna handtaget till en enhetskontext och hanterar till en enhet.

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

Parametrar

hdc
IntPtr

nativeint

Hantera till en enhetskontext.

hdevice
IntPtr

nativeint

Hantera till en enhet.

Returer

Den här metoden returnerar en ny Graphics för den angivna enhetskontexten och enheten.

Kommentarer

Du bör alltid anropa Dispose metoden för att frigöra de Graphics och relaterade resurser som skapats av FromHdc metoden.

Även om visningsenheten har en associerad ICM-färgprofil använder GDI+ inte den profilen som standard. Om du vill aktivera ICM för en Graphicsskapar Graphics du från en HDC när du har överfört HDC (och ICM_ON) till SetICMMode funktionen. Sedan justeras alla ritningar som Graphics görs av enligt den ICM-profil som är associerad med visningsenheten. Om du aktiverar ICM blir prestandan långsammare.

Tillståndet för enhetskontexten (mappningsläge, logisk enhet och liknande) vid den tidpunkt då du anropar FromHdc kan påverka renderingen Graphicssom utförs av .

Enhetshandtaget används vanligtvis för att fråga efter specifika skrivarfunktioner.

Gäller för

FromHdc(IntPtr)

Källa:
Graphics.cs
Källa:
Graphics.cs
Källa:
Graphics.cs
Källa:
Graphics.cs
Källa:
Graphics.cs
Källa:
Graphics.cs
Källa:
Graphics.cs
Källa:
Graphics.cs

Skapar en ny Graphics från det angivna handtaget till en enhetskontext.

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

Parametrar

hdc
IntPtr

nativeint

Hantera till en enhetskontext.

Returer

Den här metoden returnerar en ny Graphics för den angivna enhetskontexten.

Exempel

Följande kodexempel är utformat för användning med Windows Forms och kräver PaintEventArgse, vilket är en parameter för händelsehanteraren Paint. Koden utför följande åtgärd:

  • Skapar en intern pekartypsvariabel hdc och anger den till handtaget till enhetskontexten för formulärets grafikobjekt.

  • Skapar ett nytt grafikobjekt med .hdc

  • Ritar en rektangel med det nya grafikobjektet (på skärmen).

  • Släpper det nya grafikobjektet med .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

Kommentarer

Du bör alltid anropa Dispose metoden för att frigöra de Graphics och relaterade resurser som skapats av FromHdc metoden.

Även om visningsenheten har en associerad ICM-färgprofil använder GDI+ inte den profilen som standard. Om du vill aktivera ICM för en Graphicsskapar Graphics du från en HDC när du har överfört HDC (och ICM_ON) till SetICMMode funktionen. Sedan justeras alla ritningar som Graphics görs av enligt den ICM-profil som är associerad med visningsenheten. Om du aktiverar ICM blir prestandan långsammare.

Tillståndet för enhetskontexten (mappningsläge, logisk enhet och liknande) vid den tidpunkt då du anropar FromHdc kan påverka renderingen Graphicssom utförs av .

Gäller för