Image::Save(constWCHAR*,constCLSID*,constEncoderParameters*)-Methode (gdiplusheaders.h)

Die Image::Save-Methode speichert dieses Image in einer Datei.

Syntax

Status Save(
  const WCHAR             *filename,
  const CLSID             *clsidEncoder,
  const EncoderParameters *encoderParams
);

Parameter

filename

Zeiger auf eine NULL-Zeichenfolge, die den Pfadnamen für das gespeicherte Image angibt.

clsidEncoder

Zeiger auf eine CLSID, die den Encoder angibt, der zum Speichern des Bilds verwendet werden soll.

encoderParams

Optional. Zeiger auf ein EncoderParameters-Objekt , das vom Encoder verwendete Parameter enthält. Der Standardwert ist NULL.

Rückgabewert

Typ: Status

Wenn die Methode erfolgreich ist, gibt sie OK zurück, ein Element der Status-Enumeration .

Wenn die Methode fehlschlägt, gibt sie eines der anderen Elemente der Status-Enumeration zurück.

Hinweise

GDI+ ermöglicht es Ihnen nicht, ein Image in derselben Datei zu speichern, die Sie zum Erstellen des Images verwendet haben. Der folgende Code erstellt ein Image-Objekt , indem der Dateiname MyImage.jpg an einen Image-Konstruktor übergeben wird . Derselbe Dateiname wird an die Image::Save-Methode des Image-Objekts übergeben, sodass die Image::Save-Methode fehlschlägt.

Image image(L"myImage.jpg");

// Do other operations.

// Save the image to the same file name. (This operation will fail.)
image.Save(L"myImage.jpg", ...);

Beispiele

Im folgenden Beispiel wird ein Image-Objekt aus einer PNG-Datei erstellt und dann ein Graphics-Objekt basierend auf diesem Image-Objekt erstellt. Der Code zeichnet das Bild, ändert das Bild und zeichnet das Bild erneut. Schließlich speichert der Code das geänderte Bild in einer Datei.

Der Code basiert auf der Hilfsfunktion GetEncoderClsid, um den Klassenbezeichner für den PNG-Encoder abzurufen. Die GetEncoderClsid-Funktion wird unter Abrufen des Klassenbezeichners für einen Encoder angezeigt.

Die Technik des Erstellens eines Grafikobjekts auf Der Grundlage eines Bilds funktioniert nur für bestimmte Bildformate. Beispielsweise können Sie kein Graphics-Objekt basierend auf einem Bild mit einer Farbtiefe von 4 Bit pro Pixel erstellen. Weitere Informationen dazu, welche Formate vom Grafikkonstruktor unterstützt werden, finden Sie unter Grafik.

VOID Example_SaveFile(HDC hdc)
{
   Graphics graphics(hdc);

   // Create an Image object based on a PNG file.
   Image  image(L"Mosaic.png");

   // Draw the image.
   graphics.DrawImage(&image, 10, 10);

   // Construct a Graphics object based on the image.
   Graphics imageGraphics(&image);

   // Alter the image.
   SolidBrush brush(Color(255, 0, 0, 255));
   imageGraphics.FillEllipse(&brush, 20, 30, 80, 50);

   // Draw the altered image.
   graphics.DrawImage(&image, 200, 10);

   // Save the altered image.
   CLSID pngClsid;
   GetEncoderClsid(L"image/png", &pngClsid);
   image.Save(L"Mosaic2.png", &pngClsid, NULL);
}

Anforderungen

Anforderung Wert
Header gdiplusheaders.h

Weitere Informationen

Image

Encoderparameter

Encoderparameters

GetImageEncoder

Image::Save-Methoden

Image::SaveAdd-Methoden

Verwenden von Bildencodern und -decodern