Compartir a través de


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.tify, 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 = &parameterValue;

   // 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

Consulte también

Imagen

EncoderParameter

EncoderParameters

GetImageEncoders

Image::Save (Métodos)

Image::SaveAdd (Métodos)

Uso de codificadores y descodificadores de imágenes