Метод Image::SaveAdd(constEncoderParameters*) (gdiplusheaders.h)
Метод Image::SaveAdd добавляет кадр в файл или поток, указанный в предыдущем вызове метода Save . Используйте данный метод для сохранения выбранных кадров из многокадрового изображения в другое многокадровое изображение.
Синтаксис
Status SaveAdd(
const EncoderParameters *encoderParams
);
Параметры
encoderParams
Указатель на объект EncoderParameters , содержащий параметры, необходимые кодировщику изображений, используемому операцией сохранения и добавления.
Возвращаемое значение
Тип: Состояние
В случае успешного выполнения метода возвращается ОК, который является элементом перечисления Status .
Если метод завершается ошибкой, он возвращает один из других элементов перечисления Status .
Remarks
Примеры
В следующем примере создается объект Image на основе TIFF-файла с четырьмя кадрами.
Код вызывает метод Image::SelectActiveFrame для перехода ко второму кадру в измерении страницы этого объекта Image.
(В данном случае единственным измерением страницы.) Затем код вызывает метод Save для сохранения второго кадра в новый файл с именем TwoFrames.tif
.
Код снова вызывает метод Image::SelectActiveFrame для перехода к четвертому кадру объекта Image.
Затем код вызывает метод Image::SaveAdd , чтобы добавить четвертый кадр в TwoFrames.tif
.
Код вызывает метод Image::SaveAdd во второй раз, чтобы закрыть TwoFrames.tif
, а затем рисует два кадра, сохраненные в этом файле.
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);
}
Требования
Верхняя часть | gdiplusheaders.h |