C#图像处理(5):无损保存图片

C#使用默认方法对图像进行保存的时候图像会有损失,以下提供无损保存的方法:

 1         /// <summary>
 2         /// 无损保存图片
 3         /// </summary>
 4         /// <param name="imgResult">图片</param>
 5         /// <param name="Path">保存的路径</param>
 6         /// <param name="ImageType">图片的类型,image/jpeg,image/png,image/gif,image/tiff,image/bmp</param>
 7         /// <returns></returns>
 8         public bool SaveImage(Image imgResult, string Path, string ImageType)
 9         {
10             EncoderParameter p;
11             EncoderParameters ps;
12             try
13             {
14                 ps = new EncoderParameters(1);
15 
16                 p = new EncoderParameter(System.Drawing.Imaging.Encoder.Quality, 100L);
17                 ps.Param[0] = p;
18 
19                 ImageCodecInfo ii = GetCodecInfo(ImageType);
20                 imgResult.Save(Path, ii, ps);
21                 imgResult.Dispose();
22             }
23             catch (Exception ex)
24             {
25                 return false;
26             }
27             return true;
28         }
29 
30         /// <summary>
31         /// 获取图片的编码类型
32         /// </summary>
33         /// <param name="mimeType"></param>
34         /// <returns></returns>
35         public ImageCodecInfo GetCodecInfo(string mimeType)
36         {
37             ImageCodecInfo[] CodecInfo = ImageCodecInfo.GetImageEncoders();
38             foreach (ImageCodecInfo ici in CodecInfo)
39             {
40                 if (ici.MimeType == mimeType) return ici;
41             }
42             return null;
43         }

 

转载于:https://www.cnblogs.com/wupeihong/p/3919644.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值