Método Image::SaveAdd(constEncoderParameters*) (gdiplusheaders.h)
O método Image::SaveAdd adiciona um quadro a um arquivo ou fluxo especificado em uma chamada anterior ao método Save . Use esse método para salvar quadros selecionados de uma imagem de vários quadros em outra imagem de vários quadros.
Sintaxe
Status SaveAdd(
const EncoderParameters *encoderParams
);
Parâmetros
encoderParams
Ponteiro para um objeto EncoderParameters que contém parâmetros exigidos pelo codificador de imagem usado pela operação save-add.
Valor retornado
Tipo: Status
Se o método for bem-sucedido, ele retornará Ok, que é um elemento da enumeração Status .
Se o método falhar, ele retornará um dos outros elementos da enumeração Status .
Comentários
Exemplos
O exemplo a seguir cria um objeto Image com base em um arquivo TIFF que tem quatro quadros.
O código chama o método Image::SelectActiveFrame para navegar até o segundo quadro na dimensão de página desse objeto Image.
(A dimensão da página é a única dimensão nesse caso.) Em seguida, o código chama o método Save para salvar o segundo quadro em um novo arquivo chamado TwoFrames.tif
.
O código chama o método Image::SelectActiveFrame novamente para navegar até o quarto quadro do objeto Image.
Em seguida, o código chama o método Image::SaveAdd para adicionar o quarto quadro a TwoFrames.tif
.
O código chama o método Image::SaveAdd uma segunda vez para fechar TwoFrames.tif
e desenha os dois quadros que foram salvos nesse arquivo.
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
Cabeçalho | gdiplusheaders.h |