Graphics.FromImage(Image) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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
Parameter
Gibt zurück
Diese Methode gibt eine neue Graphics für die angegebene Imagezurück.
Ausnahmen
image
ist null
.
image
ein indiziertes Pixelformat aufweist oder dessen Format nicht definiert ist.
Beispiele
Das folgende Codebeispiel wurde für die Verwendung mit Windows Forms entwickelt und erfordert PaintEventArgse
, bei dem es sich um einen Parameter des Paint-Ereignishandlers handelt. Der Code führt die folgende Aktion aus:
Erstellt eine Image aus einer Grafikdatei SampImag.jpg im Beispielordner.
Ändert das Bild durch Ausfüllen eines Rechtecks darin.
Zeichnet die Image auf den Bildschirm.
Veröffentlicht die erstellte 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
Hinweise
Wenn das Bild über ein indiziertes Pixelformat verfügt, löst diese Methode eine Ausnahme mit der Meldung aus: "Ein Grafikobjekt kann nicht aus einem Bild erstellt werden, das ein indiziertes Pixelformat aufweist." Die indizierten Pixelformate werden in der folgenden Liste angezeigt.
Sie können das indizierte Bild in einem anderen Format speichern, indem Sie die Save(String, ImageFormat)-Methode verwenden und dann ein Graphics Objekt für das neue Bild abrufen.
Diese Methode löst auch eine Ausnahme aus, wenn das Bild eines der folgenden Pixelformate aufweist.
Sie sollten immer die Dispose-Methode aufrufen, um die von der FromImage-Methode erstellten Graphics und zugehörigen Ressourcen freizugeben.