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

另请参阅

图像

EncoderParameter

EncoderParameters

GetImageEncoders

Image::Save 方法

Image::SaveAdd 方法

使用图像编码器和解码器