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

Graphics

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 PaintEventArgs e, was ein Parameter des Paint Ereignishandlers ist. Der Code führt die folgende Aktion aus:

  • Erstellt eine Image Grafikdatei SampImag.jpg im Beispielordner.

  • Erstellt ein Graphics Aus dem Image.

  • Ändert das Bild, indem er ein Rechteck darin füllt.

  • Zeichnet den Image Bildschirm.

  • Gibt die erstellten Versionen ab 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 "Ein Grafikobjekt kann nicht aus einem Bild erstellt werden, das über ein indiziertes Pixelformat verfügt." Die indizierten Pixelformate werden in der folgenden Liste angezeigt.

Sie können das indizierte Bild mithilfe 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 über ein der folgenden Pixelformate verfügt.

Sie sollten die Methode immer aufrufen, um die Dispose Graphics von der FromImage Methode erstellten und verwandten Ressourcen zu freigeben.

Gilt für

Siehe auch