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.tif
e 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 = ¶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);
}
Requisiti
Intestazione | gdiplusheaders.h |