Поделиться через


Метод 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 = &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);
}

Требования

   
Верхняя часть gdiplusheaders.h

См. также раздел

Изображение

EncoderParameter

EncoderParameters

GetImageEncoders

Методы Image::Save

Методы Image::SaveAdd

Использование кодировщиков изображений и декодеров