Freigeben über


Graphics.FromImage(Image) Methode

Definition

Erstellt eine neue 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 die neue Graphicserstellt werden soll.

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.

  • Erstellt eine Graphics aus dem Image.

  • Ä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.

Gilt für:

Weitere Informationen