Método Image::SaveAdd(constEncoderParameters*) (gdiplusheaders.h)
El método Image::SaveAdd agrega un marco a un archivo o secuencia especificado en una llamada anterior al método Save . Utilice este método para guardar los marcos seleccionados de una imagen de varios marcos en otra imagen de varios marcos.
Sintaxis
Status SaveAdd(
const EncoderParameters *encoderParams
);
Parámetros
encoderParams
Puntero a un objeto EncoderParameters que contiene los parámetros requeridos por el codificador de imágenes utilizado por la operación save-add.
Valor devuelto
Tipo: Estado
Si el método se ejecuta correctamente, devuelve Ok, que es un elemento de la enumeración Status .
Si se produce un error en el método, devuelve uno de los otros elementos de la enumeración Status .
Observaciones
Ejemplos
En el ejemplo siguiente se crea un objeto Image basado en un archivo TIFF que tiene cuatro fotogramas.
El código llama al método Image::SelectActiveFrame para navegar al segundo marco de la dimensión de página de ese objeto Image.
(La dimensión de página es la única dimensión en este caso). A continuación, el código llama al método Save para guardar el segundo marco en un nuevo archivo denominado TwoFrames.tif
.
El código llama de nuevo al método Image::SelectActiveFrame para ir al cuarto fotograma del objeto Image.
A continuación, el código llama al método Image::SaveAdd para agregar el cuarto marco a TwoFrames.tif
.
El código llama al método Image::SaveAdd una segunda vez para cerrar TwoFrames.tif
y, a continuación, dibuja los dos fotogramas que se guardaron en ese archivo.
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);
}
Requisitos
Encabezado | gdiplusheaders.h |