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 = ¶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 |