Graphics.FromImage(Image) Methode

Definition

Erstellt ein neues Graphics aus dem angegebenen Image.

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

image
Image

Image, aus dem das neue Graphics erstellt werden soll.

Gibt zurück

Diese Methode gibt ein neues Graphics für das angegebene Image-Objekt zurück.

Ausnahmen

image ist null.

image besitzt ein indiziertes Pixelformat, oder sein Format ist nicht definiert.

Beispiele

Das folgende Codebeispiel ist für die Verwendung mit Windows Forms konzipiert und erfordert PaintEventArgse, was ein Parameter des Paint Ereignishandlers ist. Der Code führt die folgende Aktion aus:

  • Erstellt eine Image aus einer Grafikdatei SampImag.jpg im Beispielordner.

  • Erstellt eine Graphics aus dem Image.

  • Ändert das Bild, indem ein Rechteck darin gefüllt wird.

  • Zeichnet den Image auf den Bildschirm.

  • Gibt das erstellte Graphicsfrei.

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 ein indiziertes Pixelformat aufweist, 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 mit der Save(String, ImageFormat) -Methode als ein anderes Format speichern 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 GraphicsFromImage -Methode erstellten und zugehörigen Ressourcen freizugeben.

Gilt für:

Weitere Informationen