Namespace:System.Drawing
Assembly:System.Drawing.dll

将此图像以指定的格式保存到指定的流中。

重载

方法名称 说明
Save(String, ImageCodecInfo, EncoderParameters) 使用指定的编码器和图像编码器参数,将该 Image 保存到指定的文件。
Save(Stream, ImageCodecInfo, EncoderParameters) 使用指定的编码器和图像编码器参数,将该图像保存到指定的流。
Save(String, ImageFormat) 将此 Image 以指定格式保存到指定文件。
Save(Stream, ImageFormat) 将此图像以指定的格式保存到指定的流中。
Save(String) 将该 Image 保存到指定的文件或流。

Save(String, ImageCodecInfo, EncoderParameters)

使用指定的编码器和图像编码器参数,将该 Image 保存到指定的文件。

public void Save (string filename, System.Drawing.Imaging.ImageCodecInfo encoder, System.Drawing.Imaging.EncoderParameters encoderParams);

参数

filename String
字符串,包含要将此 Image 保存到的文件的名称。

encoder ImageCodecInfo
用于此 ImageCodecInfoImage

encoderParams EncoderParameters
用于该 EncoderParametersImage

异常

ArgumentNullException

filenameencodernull.

ExternalException

该图像以错误的图像格式保存。
- 或 -
该图像被保存到创建该图像的文件。

示例

下面的示例从 BMP 文件创建一个 Bitmap 对象。 该代码将位图保存为三个 JPEG 文件,每个文件都有不同的质量级别。

using System;
using System.Drawing;
using System.Drawing.Imaging;
class Example_SetJPEGQuality
{public static void Main(){Bitmap myBitmap;ImageCodecInfo myImageCodecInfo;Encoder myEncoder;EncoderParameter myEncoderParameter;EncoderParameters myEncoderParameters;// Create a Bitmap object based on a BMP file.myBitmap = new Bitmap("Shapes.bmp");// Get an ImageCodecInfo object that represents the JPEG codec.myImageCodecInfo = GetEncoderInfo("image/jpeg");// Create an Encoder object based on the GUID// for the Quality parameter category.myEncoder = Encoder.Quality;// Create an EncoderParameters object.// An EncoderParameters object has an array of EncoderParameter// objects. In this case, there is only one// EncoderParameter object in the array.myEncoderParameters = new EncoderParameters(1);// Save the bitmap as a JPEG file with quality level 25.myEncoderParameter = new EncoderParameter(myEncoder, 25L);myEncoderParameters.Param[0] = myEncoderParameter;myBitmap.Save("Shapes025.jpg", myImageCodecInfo, myEncoderParameters);// Save the bitmap as a JPEG file with quality level 50.myEncoderParameter = new EncoderParameter(myEncoder, 50L);myEncoderParameters.Param[0] = myEncoderParameter;myBitmap.Save("Shapes050.jpg", myImageCodecInfo, myEncoderParameters);// Save the bitmap as a JPEG file with quality level 75.myEncoderParameter = new EncoderParameter(myEncoder, 75L);myEncoderParameters.Param[0] = myEncoderParameter;myBitmap.Save("Shapes075.jpg", myImageCodecInfo, myEncoderParameters);}private static ImageCodecInfo GetEncoderInfo(String mimeType){int j;ImageCodecInfo[] encoders;encoders = ImageCodecInfo.GetImageEncoders();for(j = 0; j < encoders.Length; ++j){if(encoders[j].MimeType == mimeType)return encoders[j];}return null;}
}

备注

不允许将图像保存到从中构建它的文件,并且会引发异常。

Save(Stream, ImageCodecInfo, EncoderParameters)

使用指定的编码器和图像编码器参数,将该图像保存到指定的流。

public void Save (System.IO.Stream stream, System.Drawing.Imaging.ImageCodecInfo encoder, System.Drawing.Imaging.EncoderParameters encoderParams);

参数

stream Stream
将在其中保存图像的 Stream

encoder ImageCodecInfo
用于此 ImageCodecInfoImage

encoderParams EncoderParameters
一个 EncoderParameters,它指定图像编码器使用的参数。

异常

ArgumentNullException
streamnull

ExternalException
该图像以错误的图像格式保存。

备注

不要将图像保存到用于构造映像的相同流中。 这样做可能会损坏流。
必须将该图像保存到流中偏移量为零的位置。 如果在保存映像之前已向流中写入任何其他数据,则流中的图像数据将损坏。

Save(String, ImageFormat)

将此 Image 以指定格式保存到指定文件。

public void Save (string filename, System.Drawing.Imaging.ImageFormat format);

参数

filename String
字符串,包含要将此 Image 保存到的文件的名称。

format ImageFormat
用于此 ImageFormatImage

异常

ArgumentNullException
filenameformatnull.

ExternalException
该图像以错误的图像格式保存。
- 或 -
该图像被保存到创建该图像的文件。

示例

下面的代码示例演示如何从类型构造位图,以及如何使用 Save 方法。 若要运行此示例,请将代码粘贴到 Windows 窗体中。 处理窗体的 Paint 事件,并调用 ConstructFromResourceSaveAsGif 方法,并将 e 作为 PaintEventArgs

private void ConstructFromResourceSaveAsGif(PaintEventArgs e)
{// Construct a bitmap from the button image resource.Bitmap bmp1 = new Bitmap(typeof(Button), "Button.bmp");// Save the image as a GIF.bmp1.Save("c:\\button.gif", System.Drawing.Imaging.ImageFormat.Gif);// Construct a new image from the GIF file.Bitmap bmp2 = new Bitmap("c:\\button.gif");// Draw the two images.e.Graphics.DrawImage(bmp1, new Point(10, 10));e.Graphics.DrawImage(bmp2, new Point(10, 40));// Dispose of the image files.bmp1.Dispose();bmp2.Dispose();
}

Save(Stream, ImageFormat)

将此图像以指定的格式保存到指定的流中。

public void Save (System.IO.Stream stream, System.Drawing.Imaging.ImageFormat format);

参数

stream Stream
将在其中保存图像的 Stream

format ImageFormat
ImageFormat,指定保存的图像的格式。

异常

ArgumentNullException
streamformatnull

ExternalException
该图像以错误的图像格式保存

备注

应避免将图像保存到用于构造它的同一个流中。 这样做可能会损坏流。
必须将该图像保存到流中偏移量为零的位置。 如果在保存映像之前已向流中写入任何其他数据,则流中的图像数据将损坏。

Save(String)

将该 Image 保存到指定的文件或流。

public void Save (string filename);

参数

filename String
字符串,包含要将此 Image 保存到的文件的名称。

异常

ArgumentNullException
filenamenull.

ExternalException
该图像以错误的图像格式保存。
- 或 -
该图像被保存到创建该图像的文件。

示例

下面的代码示例演示如何调用 Save 方法。 此示例旨在与 Windows 窗体一起使用。 创建一个包含名为 Button5的按钮的窗体。 将代码粘贴到窗体中,并将该方法与按钮的 Click 事件相关联。

private void Button5_Click(System.Object sender, System.EventArgs e)
{try{if (image1 != null){image1.Save("c:\\myBitmap.bmp");Button5.Text = "Saved file.";}}catch(Exception){MessageBox.Show("There was a problem saving the file." +"Check the file permissions.");}
}

备注

如果图像的文件格式不存在编码器,则使用可移植网络图形(PNG)编码器。 当使用 Save 方法将图形图像保存为 Windows 图元文件格式(WMF)或增强型图元文件格式(EMF)文件时,生成的文件将另存为可移植网络图形(PNG)文件。 出现此行为是因为 .NET FrameworkGDI+ 组件没有可用于将文件另存为 .wmf.emf 文件的编码器。

不允许将图像保存到从中构建它的文件,并且会引发异常。

Image.Save 方法相关推荐

  1. Springboot-mongodb MongoRepository接口 save方法 详解

    问题: 我们都知道 mongodb 有两种添加数据的方式  一种 就是  save 方法   另外一种 insert  方法 这里两个方法 唯一的区别就是 insert:当主键"_id&qu ...

  2. Django create和save方法

    Django的模型(Model)的本质是类,并不是一个具体的对象(Object).当你设计好模型后,你就可以对Model进行实例化从而创建一个一个具体的对象.Django对于创建对象提供了2种不同的s ...

  3. 解决laravel框架中Eloquent ORM的save方法无法插入数据的问题

    学习laravel中: 今天在测试使用Eloquent ORM将数据使用 save()方法插入到mysql中时,出现了错误,如图所示: 在网上查阅资料后找到了原因: 使用save方法新增数据: lar ...

  4. JPA踩坑记:Spring Data Jpa 更新为null的问题(save方法保存时null值会被更新到数据库)

    关键字: JPA更新为null,JPA save null,JPA保存为null 今天使用jpa的save方法时发现null字段也会被更新到数据库,这个直接把数据库数据覆盖的行为很可怕,果断研究了一下 ...

  5. django 一对多的添加记录create 和save 方法,update 更新和save()方法的区别,查询API的方法...

    查询api的方法: 表.objects.all() ---[obj1,obj2,....] 表.objects.all().first() 表.objects.filter(id=2) ---[obj ...

  6. java fst 入门 例子,Java FST.save方法代码示例

    import org.apache.lucene.util.fst.FST; //导入方法依赖的package包/类 /** * * @param inputStream the input stre ...

  7. vcard java_Java VCard.save方法代码示例

    import org.jivesoftware.smackx.packet.VCard; //导入方法依赖的package包/类 public void save(Connection connect ...

  8. html5中 save方法,如何HTML5画布另存为窗口8 Metro应用中的图像文件?(How to save html5 c...

    var myImage = canvas.toDataURL("image/png"); 我认为myImage在现在png格式如何保存编码的图像字节myImage作为一个文件(图片 ...

  9. jap sql 保存_【hibernate spring data jpa】执行了save()方法 sql语句也执行了,但是数据并未插入数据库中...

    [转]用CSS代码写出的各种形状图形的方法 一共收集整理了图形20个,比较实用,同时也为了熟悉CSS的代码.整合了一下,有错误欢迎指出. 1.正方形 #square {width: 100px;hei ...

最新文章

  1. UOJ #579. 树上的颜色
  2. Mybatis if 判断等于一个字符串
  3. u大师u盘装系统win7_怎么用u盘装win7系统
  4. 【java学习之路】(javaWeb【后端】篇)002.Servlet
  5. Android 最新原生定位折腾总结科普
  6. final cut pro x怎样导入3D LUT调色预设?
  7. 【LeetCode】【字符串】题号:*49. 字母异位词分组
  8. android图片底部居中对齐,Android 解决图文混排,图片和文字居中对齐问题(ImageSpan)...
  9. C语言·数组·密码编译(阿斯克码法)
  10. Python 学习笔记->《流畅python》学习
  11. 不加好友实现QQ在线代码状态临时会话
  12. cadvisor详解
  13. 洗头冲水时冲下好些头发,我是要秃了吗???
  14. opencv显示图片只显示部分(或认为图片太大)
  15. 嵌入式开发需要学mysql吗_学习嵌入式开发需要学习哪些课程?如何学习?
  16. CSS中添加背景图+盒子边框样式
  17. Ubuntu操作系统输入法键位错乱解法记录(输入法无法正确打出~、等字符)
  18. c语言将时速转换成配速,平均时速和平均配速的区别
  19. 淘宝 登录 3步登录 取得cookie的方式
  20. python使用大数据分析师_Python+大数据分析师

热门文章

  1. 如何在Chrome浏览器中导入和导出密码
  2. Alex 的 Hadoop 菜鸟教程: 第10课 Hive 安装和使用教程
  3. 陌上花将开,徐徐观赏
  4. Android App 性能优化之图片优化
  5. linux 串口ttyS, ttyACM 还是ttyUSB?
  6. Android12 (S) 获取wifi名称(SSID)的方法
  7. bflvphnlrffbdbv
  8. docker搭建searx_Searx – 尊重隐私的开源搜索引擎
  9. 学日语小技巧 让Office Word效劳
  10. 算法-九九乘阶打印和计算N的乘阶结果