Image::SaveAdd(constEncoderParameters*)-Methode (gdiplusheaders.h)
Die Image::SaveAdd-Methode fügt einer Datei oder einem Stream einen Frame hinzu, der in einem vorherigen Aufruf der Save-Methode angegeben wurde. Mit dieser Methode speichern Sie ausgewählte Rahmen eines Bilds mit mehreren Rahmen in einem anderen Bild mit mehreren Rahmen.
Syntax
Status SaveAdd(
const EncoderParameters *encoderParams
);
Parameter
encoderParams
Zeiger auf ein EncoderParameters-Objekt , das Parameter enthält, die für den Vom Save-Add-Vorgang verwendeten Bildencoder erforderlich sind.
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.
Bemerkungen
Beispiele
Im folgenden Beispiel wird ein Image-Objekt basierend auf einer TIFF-Datei mit vier Frames erstellt.
Der Code ruft die Image::SelectActiveFrame-Methode auf, um zum zweiten Frame in der Seitendimension dieses Image-Objekts zu navigieren.
(Die Seitendimension ist in diesem Fall die einzige Dimension.) Anschließend ruft der Code die Save-Methode auf, um den zweiten Frame in einer neuen Datei mit dem Namen TwoFrames.tif
zu speichern.
Der Code ruft erneut die Image::SelectActiveFrame-Methode auf, um zum vierten Frame des Image-Objekts zu navigieren.
Dann ruft der Code die Image::SaveAdd-Methode auf, um den vierten Frame zu TwoFrames.tif
hinzuzufügen.
Der Code ruft die Image::SaveAdd-Methode ein zweites Mal auf, um zu schließen TwoFrames.tif
, und zeichnet dann die beiden Frames, die in dieser Datei gespeichert wurden.
VOID Example_SaveAdd(HDC hdc)
{
Graphics graphics(hdc);
EncoderParameters encoderParameters;
ULONG parameterValue;
GUID dimension = FrameDimensionPage;
// An EncoderParameters object has an array of
// EncoderParameter objects. In this case, there is only
// one EncoderParameter object in the array.
encoderParameters.Count = 1;
// Initialize the one EncoderParameter object.
encoderParameters.Parameter[0].Guid = EncoderSaveFlag;
encoderParameters.Parameter[0].Type = EncoderParameterValueTypeLong;
encoderParameters.Parameter[0].NumberOfValues = 1;
encoderParameters.Parameter[0].Value = ¶meterValue;
// Get the CLSID of the TIFF encoder.
CLSID encoderClsid;
GetEncoderClsid(L"image/tiff", &encoderClsid);
// Create an image object based on a TIFF file that has four frames.
Image fourFrames(L"FourFrames.tif");
// Save the second page (frame).
parameterValue = EncoderValueMultiFrame;
fourFrames.SelectActiveFrame(&dimension, 1);
fourFrames.Save(L"TwoFrames.tif", &encoderClsid, &encoderParameters);
// Save the fourth page (frame).
parameterValue = EncoderValueFrameDimensionPage;
fourFrames.SelectActiveFrame(&dimension, 3);
fourFrames.SaveAdd(&encoderParameters);
// Close the multiframe file.
parameterValue = EncoderValueFlush;
fourFrames.SaveAdd(&encoderParameters);
// Draw the two frames of TwoFrames.tif.
Image twoFrames(L"TwoFrames.tif");
twoFrames.SelectActiveFrame(&dimension, 0);
graphics.DrawImage(&twoFrames, 10, 10);
twoFrames.SelectActiveFrame(&dimension, 1);
graphics.DrawImage(&twoFrames, 150, 10);
}
Requirements (Anforderungen)
Kopfzeile | gdiplusheaders.h |