Udostępnij za pośrednictwem


Graphics.FromHdc Metoda

Definicja

Tworzy nowy Graphics z określonego uchwytu do kontekstu urządzenia.

Przeciążenia

FromHdc(IntPtr, IntPtr)

Tworzy nowy Graphics z określonego uchwytu do kontekstu urządzenia i dojście do urządzenia.

FromHdc(IntPtr)

Tworzy nowy Graphics z określonego uchwytu do kontekstu urządzenia.

FromHdc(IntPtr, IntPtr)

Źródło:
Graphics.cs
Źródło:
Graphics.cs
Źródło:
Graphics.cs
Źródło:
Graphics.cs
Źródło:
Graphics.cs

Tworzy nowy Graphics z określonego uchwytu do kontekstu urządzenia i dojście do urządzenia.

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

Obsługa kontekstu urządzenia.

hdevice
IntPtr

nativeint

Obsługa na urządzeniu.

Zwraca

Ta metoda zwraca nowy Graphics dla określonego kontekstu urządzenia i urządzenia.

Uwagi

Zawsze należy wywołać metodę Dispose, aby zwolnić Graphics i powiązane zasoby utworzone przez metodę FromHdc.

Nawet jeśli urządzenie wyświetlane ma skojarzony profil kolorów ICM, GDI+ nie będzie domyślnie używać tego profilu. Aby włączyć ICM dla Graphics, skonstruuj Graphics z usługi HDC po przekazaniu usługi HDC (i ICM_ON) do funkcji SetICMMode. Następnie każdy rysunek wykonany przez Graphics zostanie dostosowany zgodnie z profilem ICM skojarzonym z urządzeniem wyświetlania. Włączenie zdarzenia ICM spowoduje niższą wydajność.

Stan kontekstu urządzenia (tryb mapowania, jednostka logiczna i podobne) podczas wywoływania FromHdc może mieć wpływ na renderowanie wykonywane przez Graphics.

Uchwyt urządzenia jest zwykle używany do wykonywania zapytań dotyczących określonych możliwości drukarki.

Dotyczy

FromHdc(IntPtr)

Źródło:
Graphics.cs
Źródło:
Graphics.cs
Źródło:
Graphics.cs
Źródło:
Graphics.cs
Źródło:
Graphics.cs

Tworzy nowy Graphics z określonego uchwytu do kontekstu urządzenia.

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

Obsługa kontekstu urządzenia.

Zwraca

Ta metoda zwraca nowy Graphics dla określonego kontekstu urządzenia.

Przykłady

Poniższy przykład kodu jest przeznaczony do użycia z formularzami Systemu Windows i wymaga PaintEventArgse, który jest parametrem programu obsługi zdarzeń Paint. Kod wykonuje następującą akcję:

  • Tworzy wewnętrzną zmienną typu wskaźnika hdc i ustawia ją na dojście do kontekstu urządzenia obiektu graficznego formularza.

  • Tworzy nowy obiekt graficzny przy użyciu hdc.

  • Rysuje prostokąt z nowym obiektem graficznym (na ekranie).

  • Zwalnia nowy obiekt graficzny przy użyciu 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

Uwagi

Zawsze należy wywołać metodę Dispose, aby zwolnić Graphics i powiązane zasoby utworzone przez metodę FromHdc.

Nawet jeśli urządzenie wyświetlane ma skojarzony profil kolorów ICM, GDI+ nie będzie domyślnie używać tego profilu. Aby włączyć ICM dla Graphics, skonstruuj Graphics z usługi HDC po przekazaniu usługi HDC (i ICM_ON) do funkcji SetICMMode. Następnie każdy rysunek wykonany przez Graphics zostanie dostosowany zgodnie z profilem ICM skojarzonym z urządzeniem wyświetlania. Włączenie zdarzenia ICM spowoduje niższą wydajność.

Stan kontekstu urządzenia (tryb mapowania, jednostka logiczna i podobne) podczas wywoływania FromHdc może mieć wpływ na renderowanie wykonywane przez Graphics.

Dotyczy