Graphics.FromHdc Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Создает новый объект Graphics из указанного дескриптора для контекста устройств.
Перегрузки
FromHdc(IntPtr) |
Создает новый объект Graphics из указанного дескриптора для контекста устройств. |
FromHdc(IntPtr, IntPtr) |
Создает новый объект Graphics из указанного дескриптора контекста устройства и дескриптора устройства. |
FromHdc(IntPtr)
- Исходный код:
- 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.
Применяется к
FromHdc(IntPtr, IntPtr)
- Исходный код:
- 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.
Дескриптор устройства обычно используется для запроса конкретных возможностей принтера.
Применяется к
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по