Image::SaveAdd (constEncoderParameters*) 方法 (gdiplusheaders.h)

Image::SaveAdd 方法将帧添加到在对 Save 方法的上一次调用中指定的文件或流中。 使用此方法将多帧图像中的选定帧保存到另一个多帧图像。

语法

Status SaveAdd(
  const EncoderParameters *encoderParams
);

parameters

encoderParams

指向 EncoderParameters 对象的指针,该对象保存保存-添加操作使用的图像编码器所需的参数。

返回值

类型: 状态

如果方法成功,则返回 Ok,这是 Status 枚举的元素。

如果 方法失败,它将返回 Status 枚举的其他元素之一。

注解

示例

以下示例基于具有四个帧的 TIFF 文件创建 Image 对象。 该代码调用 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 方法

使用图像编码器和解码器