Graphics.FromImage(Image) 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í.
public:
static System::Drawing::Graphics ^ FromImage(System::Drawing::Image ^ image);
public static System.Drawing.Graphics FromImage (System.Drawing.Image image);
static member FromImage : System.Drawing.Image -> System.Drawing.Graphics
Public Shared Function FromImage (image As Image) As Graphics
Parametry
Návraty
Tato metoda vrátí novou Graphics pro zadanou Image.
Výjimky
image
je null
.
image
má indexovaný formát pixelů nebo je jeho formát nedefinovaný.
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ří Image z grafického souboru SampImag.jpg v ukázkové složce.
Změní obrázek vyplněním obdélníku v něm.
Nakreslí Image na obrazovku.
Uvolní vytvořenou Graphics.
public:
void FromImageImage( PaintEventArgs^ e )
{
// Create image.
Image^ imageFile = Image::FromFile( "SampImag.jpg" );
// Create graphics object for alteration.
Graphics^ newGraphics = Graphics::FromImage( imageFile );
// Alter image.
newGraphics->FillRectangle( gcnew SolidBrush( Color::Black ), 100, 50, 100, 100 );
// Draw image to screen.
e->Graphics->DrawImage( imageFile, PointF(0.0F,0.0F) );
// Dispose of graphics object.
delete newGraphics;
}
private void FromImageImage(PaintEventArgs e)
{
// Create image.
Image imageFile = Image.FromFile("SampImag.jpg");
// Create graphics object for alteration.
Graphics newGraphics = Graphics.FromImage(imageFile);
// Alter image.
newGraphics.FillRectangle(new SolidBrush(Color.Black), 100, 50, 100, 100);
// Draw image to screen.
e.Graphics.DrawImage(imageFile, new PointF(0.0F, 0.0F));
// Dispose of graphics object.
newGraphics.Dispose();
}
Private Sub FromImageImage2(ByVal e As PaintEventArgs)
' Create image.
Dim imageFile As Image = Image.FromFile("SampImag.jpg")
' Create graphics object for alteration.
Dim newGraphics As Graphics = Graphics.FromImage(imageFile)
' Alter image.
newGraphics.FillRectangle(New SolidBrush(Color.Black), _
100, 50, 100, 100)
' Draw image to screen.
e.Graphics.DrawImage(imageFile, New PointF(0.0F, 0.0F))
' Dispose of graphics object.
newGraphics.Dispose()
End Sub
Poznámky
Pokud má obrázek indexovaný formát pixelů, tato metoda vyvolá výjimku se zprávou "Grafický objekt nelze vytvořit z obrázku, který má indexovaný formát pixelů". Indexované formáty pixelů jsou uvedeny v následujícím seznamu.
Indexovaný obrázek můžete uložit jako jiný formát pomocí metody Save(String, ImageFormat) a pak načíst objekt Graphics pro nový obrázek.
Tato metoda také vyvolá výjimku, pokud má obrázek některý z následujících formátů pixelů.
Vždy byste měli zavolat metodu Dispose, která uvolní Graphics a související prostředky vytvořené metodou FromImage.