Share via


Metodo Image::SaveAdd(constEncoderParameters*) (gdiplusheaders.h)

Il metodo Image::SaveAdd aggiunge un frame a un file o a un flusso specificato in una chiamata precedente al metodo Save . Usare questo metodo per salvare i fotogrammi selezionati da un'immagine a più fotogrammi in un'altra immagine a più fotogrammi.

Sintassi

Status SaveAdd(
  const EncoderParameters *encoderParams
);

Parametri

encoderParams

Puntatore a un oggetto EncoderParameters che contiene parametri richiesti dal codificatore di immagini usato dall'operazione save-add.

Valore restituito

Tipo: Stato

Se il metodo ha esito positivo, restituisce Ok, ovvero un elemento dell'enumerazione Status .

Se il metodo ha esito negativo, restituisce uno degli altri elementi dell'enumerazione Status .

Commenti

Esempi

Nell'esempio seguente viene creato un oggetto Image basato su un file TIFF con quattro fotogrammi. Il codice chiama il metodo Image::SelectActiveFrame per passare al secondo frame nella dimensione della pagina di tale oggetto Image. La dimensione della pagina è l'unica dimensione in questo caso. Il codice chiama quindi il metodo Save per salvare il secondo frame in un nuovo file denominato TwoFrames.tif. Il codice chiama di nuovo il metodo Image::SelectActiveFrame per passare al quarto frame dell'oggetto Image. Il codice chiama quindi il metodo Image::SaveAdd per aggiungere il quarto frame a TwoFrames.tif. Il codice chiama il metodo Image::SaveAdd una seconda volta per chiudere TwoFrames.tife quindi disegna i due fotogrammi salvati in tale file.

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);
}

Requisiti

   
Intestazione gdiplusheaders.h

Vedi anche

Immagine

Encoderparameter

Encoderparameters

GetImageEncoders

Metodi Image::Save

Image::SaveAdd Metodi

Uso di codificatori di immagini e decodificatori