Graphics.FromHdc Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Vytvoří nový Graphics ze zadaného popisovače do kontextu zařízení.
Přetížení
FromHdc(IntPtr, IntPtr) |
Vytvoří nový Graphics ze zadaného popisovače do kontextu zařízení a popisovač zařízení. |
FromHdc(IntPtr) |
Vytvoří nový Graphics ze zadaného popisovače do kontextu zařízení. |
FromHdc(IntPtr, IntPtr)
- Zdroj:
- Graphics.cs
- Zdroj:
- Graphics.cs
- Zdroj:
- Graphics.cs
- Zdroj:
- Graphics.cs
- Zdroj:
- Graphics.cs
Vytvoří nový Graphics ze zadaného popisovače do kontextu zařízení a popisovač zařízení.
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
Zpracování kontextu zařízení
- hdevice
-
IntPtr
nativeint
Popisovač zařízení
Návraty
Tato metoda vrátí novou Graphics pro zadaný kontext zařízení a zařízení.
Poznámky
Vždy byste měli zavolat metodu Dispose, která uvolní Graphics a související prostředky vytvořené metodou FromHdc.
I když má zařízení pro zobrazení přidružený barevný profil ICM, GDI+ tento profil ve výchozím nastavení nepoužije. Pokud chcete icM povolit pro Graphics, vytvořte Graphics z HDC po předání HDC (a ICM_ON) do funkce SetICMMode
. Potom se všechny výkresy provedené Graphics upraví podle profilu ICM přidruženého k zobrazovacímu zařízení. Povolení ICM způsobí pomalejší výkon.
Stav kontextu zařízení (režim mapování, logická jednotka a podobně) v době volání FromHdc může ovlivnit vykreslování provedené Graphics.
Popisovač zařízení se obvykle používá k dotazování konkrétních možností tiskárny.
Platí pro
FromHdc(IntPtr)
- Zdroj:
- Graphics.cs
- Zdroj:
- Graphics.cs
- Zdroj:
- Graphics.cs
- Zdroj:
- Graphics.cs
- Zdroj:
- Graphics.cs
Vytvoří nový Graphics ze zadaného popisovače do kontextu zařízení.
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
Zpracování kontextu zařízení
Návraty
Tato metoda vrátí novou Graphics pro zadaný kontext zařízení.
Příklady
Následující příklad kódu je určený pro použití s Windows Forms a vyžaduje PaintEventArgse
, což je parametr obslužné rutiny události Paint. Kód provede následující akci:
Vytvoří interní proměnnou typu ukazatele
hdc
a nastaví ji na popisovač na kontext zařízení grafického objektu formuláře.Vytvoří nový grafický objekt pomocí
hdc
.Nakreslí obdélník s novým grafickým objektem (na obrazovce).
Uvolní nový grafický objekt pomocí
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
Poznámky
Vždy byste měli zavolat metodu Dispose, která uvolní Graphics a související prostředky vytvořené metodou FromHdc.
I když má zařízení pro zobrazení přidružený barevný profil ICM, GDI+ tento profil ve výchozím nastavení nepoužije. Pokud chcete icM povolit pro Graphics, vytvořte Graphics z HDC po předání HDC (a ICM_ON) do funkce SetICMMode
. Potom se všechny výkresy provedené Graphics upraví podle profilu ICM přidruženého k zobrazovacímu zařízení. Povolení ICM způsobí pomalejší výkon.
Stav kontextu zařízení (režim mapování, logická jednotka a podobně) v době volání FromHdc může ovlivnit vykreslování provedené Graphics.