Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
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 = ¶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 |