Image::Save (constWCHAR*,constCLSID*,constEncoderParameters*) 方法 (gdiplusheaders.h)
Image::Save 方法将此图像保存到文件中。
语法
Status Save(
const WCHAR *filename,
const CLSID *clsidEncoder,
const EncoderParameters *encoderParams
);
参数
filename
指向以 null 结尾的字符串的指针,该字符串指定已保存图像的路径名称。
clsidEncoder
指向 CLSID 的指针,该 CLSID 指定要用于保存图像的编码器。
encoderParams
可选。 指向包含编码器所用参数 的 EncoderParameters 对象的指针。 默认值为 NULL。
返回值
类型: 状态
如果该方法成功,则返回 Ok,这是 Status 枚举的元素。
如果方法失败,它将返回 Status 枚举的其他元素之一。
注解
GDI+ 不允许将图像保存到用于构造映像的同一文件中。
以下代码通过将文件名MyImage.jpg
传递给 Image 构造函数来创建 Image 对象。
同一文件名将传递给 Image 对象的 Image::Save 方法,因此 Image::Save 方法失败。
Image image(L"myImage.jpg");
// Do other operations.
// Save the image to the same file name. (This operation will fail.)
image.Save(L"myImage.jpg", ...);
示例
以下示例从 PNG 文件创建 Image 对象,然后基于该 Image 对象创建 Graphics 对象。 代码绘制图像,更改图像,然后再次绘制图像。 最后,代码将更改后的图像保存到文件中。
代码依赖于帮助程序函数 GetEncoderClsid 来获取 PNG 编码器的类标识符。 GetEncoderClsid 函数显示在检索编码器的类标识符中。
基于图像构造 Graphics 对象的技术仅适用于某些图像格式。 例如,不能基于颜色深度为每像素 4 位的图像构造 Graphics 对象。 有关 图形 构造函数支持哪些格式的详细信息,请参阅 Graphics。
VOID Example_SaveFile(HDC hdc)
{
Graphics graphics(hdc);
// Create an Image object based on a PNG file.
Image image(L"Mosaic.png");
// Draw the image.
graphics.DrawImage(&image, 10, 10);
// Construct a Graphics object based on the image.
Graphics imageGraphics(&image);
// Alter the image.
SolidBrush brush(Color(255, 0, 0, 255));
imageGraphics.FillEllipse(&brush, 20, 30, 80, 50);
// Draw the altered image.
graphics.DrawImage(&image, 200, 10);
// Save the altered image.
CLSID pngClsid;
GetEncoderClsid(L"image/png", &pngClsid);
image.Save(L"Mosaic2.png", &pngClsid, NULL);
}
要求
要求 | 值 |
---|---|
Header | gdiplusheaders.h |