Graphics.FromHdc Yöntem

Tanım

Belirtilen tanıtıcıdan cihaz bağlamı için yeni bir Graphics oluşturur.

Aşırı Yüklemeler

FromHdc(IntPtr, IntPtr)

Belirtilen tanıtıcıdan bir cihaz bağlamı ve bir cihaz tanıtıcısına yeni bir Graphics oluşturur.

FromHdc(IntPtr)

Belirtilen tanıtıcıdan cihaz bağlamı için yeni bir Graphics oluşturur.

FromHdc(IntPtr, IntPtr)

Kaynak:
Graphics.cs
Kaynak:
Graphics.cs
Kaynak:
Graphics.cs
Kaynak:
Graphics.cs
Kaynak:
Graphics.cs

Belirtilen tanıtıcıdan bir cihaz bağlamı ve bir cihaz tanıtıcısına yeni bir Graphics oluşturur.

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

Parametreler

hdc
IntPtr

nativeint

Cihaz bağlamı için tanıtıcı.

hdevice
IntPtr

nativeint

Bir cihaz için tanıtıcı.

Döndürülenler

Bu yöntem, belirtilen cihaz bağlamı ve cihaz için yeni bir Graphics döndürür.

Açıklamalar

FromHdc yöntemi tarafından oluşturulan Graphics ve ilgili kaynakları serbest bırakmak için her zaman Dispose yöntemini çağırmalısınız.

Görüntü cihazının ilişkilendirilmiş bir ICM renk profili olsa bile, GDI+ varsayılan olarak bu profili kullanmaz. bir Graphicsiçin ICM'yi etkinleştirmek için, HDC'yi (ve ICM_ON) SetICMMode işlevine geçirdikten sonra HDC'den Graphics oluşturur. Ardından Graphics tarafından yapılan tüm çizimler, görüntü cihazıyla ilişkilendirilmiş ICM profiline göre ayarlanır. ICM'nin etkinleştirilmesi daha yavaş performansa neden olur.

FromHdc çağırdığınız sırada cihaz bağlamının (eşleme modu, mantıksal birim ve benzeri) durumu, Graphicstarafından yapılan işlemeyi etkileyebilir.

Cihaz tanıtıcısı genellikle belirli yazıcı özelliklerini sorgulamak için kullanılır.

Şunlara uygulanır

FromHdc(IntPtr)

Kaynak:
Graphics.cs
Kaynak:
Graphics.cs
Kaynak:
Graphics.cs
Kaynak:
Graphics.cs
Kaynak:
Graphics.cs

Belirtilen tanıtıcıdan cihaz bağlamı için yeni bir Graphics oluşturur.

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

Parametreler

hdc
IntPtr

nativeint

Cihaz bağlamı için tanıtıcı.

Döndürülenler

Bu yöntem, belirtilen cihaz bağlamı için yeni bir Graphics döndürür.

Örnekler

Aşağıdaki kod örneği Windows Forms ile kullanılmak üzere tasarlanmıştır ve Paint olay işleyicisinin bir parametresi olan PaintEventArgsegerektirir. Kod aşağıdaki eylemi gerçekleştirir:

  • hdc bir iç işaretçi türü değişkeni oluşturur ve formun grafik nesnesinin cihaz bağlamı için tanıtıcıya ayarlar.

  • hdckullanarak yeni bir grafik nesnesi oluşturur.

  • Yeni grafik nesnesiyle (ekranda) bir dikdörtgen çizer.

  • hdckullanarak yeni grafik nesnesini serbest bırakır.

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

Açıklamalar

FromHdc yöntemi tarafından oluşturulan Graphics ve ilgili kaynakları serbest bırakmak için her zaman Dispose yöntemini çağırmalısınız.

Görüntü cihazının ilişkilendirilmiş bir ICM renk profili olsa bile, GDI+ varsayılan olarak bu profili kullanmaz. bir Graphicsiçin ICM'yi etkinleştirmek için, HDC'yi (ve ICM_ON) SetICMMode işlevine geçirdikten sonra HDC'den Graphics oluşturur. Ardından Graphics tarafından yapılan tüm çizimler, görüntü cihazıyla ilişkilendirilmiş ICM profiline göre ayarlanır. ICM'nin etkinleştirilmesi daha yavaş performansa neden olur.

FromHdc çağırdığınız sırada cihaz bağlamının (eşleme modu, mantıksal birim ve benzeri) durumu, Graphicstarafından yapılan işlemeyi etkileyebilir.

Şunlara uygulanır