Graphics.FromHdc Метод

Определение

Создает новый Graphics из указанного дескриптора в контекст устройства.

Перегрузки

Имя Описание
FromHdc(IntPtr, IntPtr)

Создает новый Graphics из указанного дескриптора в контекст устройства и дескриптор на устройстве.

FromHdc(IntPtr)

Создает новый Graphics из указанного дескриптора в контекст устройства.

FromHdc(IntPtr, IntPtr)

Исходный код:
Graphics.cs
Исходный код:
Graphics.cs
Исходный код:
Graphics.cs
Исходный код:
Graphics.cs
Исходный код:
Graphics.cs
Исходный код:
Graphics.cs
Исходный код:
Graphics.cs
Исходный код:
Graphics.cs

Создает новый Graphics из указанного дескриптора в контекст устройства и дескриптор на устройстве.

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

Параметры

hdc
IntPtr

nativeint

Обработка контекста устройства.

hdevice
IntPtr

nativeint

Дескриптор устройства.

Возвращаемое значение

Этот метод возвращает новый Graphics для указанного контекста устройства и устройства.

Комментарии

Метод всегда должен вызываться Dispose для освобождения Graphics и связанных ресурсов, созданных методом FromHdc .

Даже если устройство отображения имеет связанный цветной профиль ICM, GDI+ не будет использовать этот профиль по умолчанию. Чтобы включить ICM для Graphicsфункции, создайте Graphics его из HDC после передачи HDC (и ICM_ON).SetICMMode Затем любой рисунок, выполненный приложением Graphics , будет скорректировано в соответствии с профилем ICM, связанным с устройством отображения. Включение ICM приведет к снижению производительности.

Состояние контекста устройства (режим сопоставления, логическая единица и т. п.) во время вызова FromHdc может повлиять на отрисовку, выполненную в режиме Graphicsсопоставления.

Дескриптор устройства обычно используется для запроса определенных возможностей принтера.

Применяется к

FromHdc(IntPtr)

Исходный код:
Graphics.cs
Исходный код:
Graphics.cs
Исходный код:
Graphics.cs
Исходный код:
Graphics.cs
Исходный код:
Graphics.cs
Исходный код:
Graphics.cs
Исходный код:
Graphics.cs
Исходный код:
Graphics.cs

Создает новый Graphics из указанного дескриптора в контекст устройства.

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

Параметры

hdc
IntPtr

nativeint

Обработка контекста устройства.

Возвращаемое значение

Этот метод возвращает новый Graphics для указанного контекста устройства.

Примеры

Следующий пример кода предназначен для использования с Windows Forms и требуется PaintEventArgse />, который является параметром обработчика событий Paint. Код выполняет следующее действие:

  • Создает переменную hdc типа внутреннего указателя и задает его дескриптор контексту устройства графического объекта формы.

  • Создает новый графический объект с помощью hdc.

  • Рисует прямоугольник с новым графическим объектом (на экране).

  • Освобождает новый графический объект с помощью 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

Комментарии

Метод всегда должен вызываться Dispose для освобождения Graphics и связанных ресурсов, созданных методом FromHdc .

Даже если устройство отображения имеет связанный цветной профиль ICM, GDI+ не будет использовать этот профиль по умолчанию. Чтобы включить ICM для Graphicsфункции, создайте Graphics его из HDC после передачи HDC (и ICM_ON).SetICMMode Затем любой рисунок, выполненный приложением Graphics , будет скорректировано в соответствии с профилем ICM, связанным с устройством отображения. Включение ICM приведет к снижению производительности.

Состояние контекста устройства (режим сопоставления, логическая единица и т. п.) во время вызова FromHdc может повлиять на отрисовку, выполненную в режиме Graphicsсопоставления.

Применяется к