Image.Save 方法
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
用于此 ImageCodecInfo
的 Image
。
encoderParams
EncoderParameters
用于该 EncoderParameters
的 Image
。
异常
ArgumentNullException
filename
或 encoder
为 null
.
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
用于此 ImageCodecInfo
的 Image
。
encoderParams
EncoderParameters
一个 EncoderParameters
,它指定图像编码器使用的参数。
异常
ArgumentNullException
stream
为 null
。
ExternalException
该图像以错误的图像格式保存。
备注
不要将图像保存到用于构造映像的相同流中。 这样做可能会损坏流。
必须将该图像保存到流中偏移量为零的位置。 如果在保存映像之前已向流中写入任何其他数据,则流中的图像数据将损坏。
Save(String, ImageFormat)
将此 Image
以指定格式保存到指定文件。
public void Save (string filename, System.Drawing.Imaging.ImageFormat format);
参数
filename
String
字符串,包含要将此 Image
保存到的文件的名称。
format
ImageFormat
用于此 ImageFormat
的 Image
。
异常
ArgumentNullException
filename
或 format
为 null
.
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
stream
或 format
为 null
。
ExternalException
该图像以错误的图像格式保存
备注
应避免将图像保存到用于构造它的同一个流中。 这样做可能会损坏流。
必须将该图像保存到流中偏移量为零的位置。 如果在保存映像之前已向流中写入任何其他数据,则流中的图像数据将损坏。
Save(String)
将该 Image
保存到指定的文件或流。
public void Save (string filename);
参数
filename
String
字符串,包含要将此 Image
保存到的文件的名称。
异常
ArgumentNullException
filename
是 null
.
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 Framework
的 GDI+
组件没有可用于将文件另存为 .wmf
或 .emf
文件的编码器。
不允许将图像保存到从中构建它的文件,并且会引发异常。
Image.Save 方法相关推荐
- Springboot-mongodb MongoRepository接口 save方法 详解
问题: 我们都知道 mongodb 有两种添加数据的方式 一种 就是 save 方法 另外一种 insert 方法 这里两个方法 唯一的区别就是 insert:当主键"_id&qu ...
- Django create和save方法
Django的模型(Model)的本质是类,并不是一个具体的对象(Object).当你设计好模型后,你就可以对Model进行实例化从而创建一个一个具体的对象.Django对于创建对象提供了2种不同的s ...
- 解决laravel框架中Eloquent ORM的save方法无法插入数据的问题
学习laravel中: 今天在测试使用Eloquent ORM将数据使用 save()方法插入到mysql中时,出现了错误,如图所示: 在网上查阅资料后找到了原因: 使用save方法新增数据: lar ...
- JPA踩坑记:Spring Data Jpa 更新为null的问题(save方法保存时null值会被更新到数据库)
关键字: JPA更新为null,JPA save null,JPA保存为null 今天使用jpa的save方法时发现null字段也会被更新到数据库,这个直接把数据库数据覆盖的行为很可怕,果断研究了一下 ...
- django 一对多的添加记录create 和save 方法,update 更新和save()方法的区别,查询API的方法...
查询api的方法: 表.objects.all() ---[obj1,obj2,....] 表.objects.all().first() 表.objects.filter(id=2) ---[obj ...
- java fst 入门 例子,Java FST.save方法代码示例
import org.apache.lucene.util.fst.FST; //导入方法依赖的package包/类 /** * * @param inputStream the input stre ...
- vcard java_Java VCard.save方法代码示例
import org.jivesoftware.smackx.packet.VCard; //导入方法依赖的package包/类 public void save(Connection connect ...
- html5中 save方法,如何HTML5画布另存为窗口8 Metro应用中的图像文件?(How to save html5 c...
var myImage = canvas.toDataURL("image/png"); 我认为myImage在现在png格式如何保存编码的图像字节myImage作为一个文件(图片 ...
- jap sql 保存_【hibernate spring data jpa】执行了save()方法 sql语句也执行了,但是数据并未插入数据库中...
[转]用CSS代码写出的各种形状图形的方法 一共收集整理了图形20个,比较实用,同时也为了熟悉CSS的代码.整合了一下,有错误欢迎指出. 1.正方形 #square {width: 100px;hei ...
最新文章
- UOJ #579. 树上的颜色
- Mybatis if 判断等于一个字符串
- u大师u盘装系统win7_怎么用u盘装win7系统
- 【java学习之路】(javaWeb【后端】篇)002.Servlet
- Android 最新原生定位折腾总结科普
- final cut pro x怎样导入3D LUT调色预设?
- 【LeetCode】【字符串】题号:*49. 字母异位词分组
- android图片底部居中对齐,Android 解决图文混排,图片和文字居中对齐问题(ImageSpan)...
- C语言·数组·密码编译(阿斯克码法)
- Python 学习笔记->《流畅python》学习
- 不加好友实现QQ在线代码状态临时会话
- cadvisor详解
- 洗头冲水时冲下好些头发,我是要秃了吗???
- opencv显示图片只显示部分(或认为图片太大)
- 嵌入式开发需要学mysql吗_学习嵌入式开发需要学习哪些课程?如何学习?
- CSS中添加背景图+盒子边框样式
- Ubuntu操作系统输入法键位错乱解法记录(输入法无法正确打出~、等字符)
- c语言将时速转换成配速,平均时速和平均配速的区别
- 淘宝 登录 3步登录 取得cookie的方式
- python使用大数据分析师_Python+大数据分析师