C#图片压缩
来源:互联网 发布:二次元图片制作软件 编辑:程序博客网 时间:2024/05/01 17:56
#region getThumImage /**/ /// <summary> /// 生成缩略图 /// </summary> /// <param name="sourceFile">原始图片文件</param> /// <param name="quality">质量压缩比</param> /// <param name="multiple">收缩倍数</param> /// <param name="outputFile">输出文件名</param> /// <returns>成功返回true,失败则返回false</returns> public static bool getThumImage(String sourceFile, long quality, int multiple, String outputFile) { try { long imageQuality = quality; Bitmap sourceImage = new Bitmap(sourceFile); //ImageCodecInfo myImageCodecInfo = GetEncoderInfo("image/jpeg"); ImageCodecInfo myImageCodecInfo = GetEncoderInfo("image/png"); ImageCodecInfo saveImageCodeInfo = GetEncoderInfo("image/jpeg"); System.Drawing.Imaging.Encoder myEncoder = System.Drawing.Imaging.Encoder.Quality; EncoderParameters myEncoderParameters = new EncoderParameters(1); EncoderParameter myEncoderParameter = new EncoderParameter(myEncoder, imageQuality); myEncoderParameters.Param[0] = myEncoderParameter; float xWidth = sourceImage.Width; float yWidth = sourceImage.Height; Bitmap newImage = new Bitmap((int)(xWidth / multiple), (int)(yWidth / multiple)); Graphics g = Graphics.FromImage(newImage); g.DrawImage(sourceImage, 0, 0, xWidth / multiple, yWidth / multiple); g.Dispose(); //newImage.Save(outputFile, myImageCodecInfo, myEncoderParameters); //按照jpg的格式保存 newImage.Save(outputFile, saveImageCodeInfo, myEncoderParameters); return true; } catch { return false; } } #endregion getThumImage /**/ /// <summary> /// 获取图片编码信息 /// </summary> 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; }
需要引用以下命名空间
using System.Drawing;using System.Drawing.Drawing2D;using System.Drawing.Imaging;using System.IO;
调用方式:
<pre name="code" class="csharp"> string pathPerc = @"F:\cc.jpg"; string source = @"D:\1443410994498-.PNG"; //原图片地址 if (!File.Exists(pathPerc)) { File.Create(pathPerc).Close(); } else { File.Delete(pathPerc); File.Create(pathPerc).Close(); } bool result = Common.getThumImage(source, 20, 1, pathPerc); if (result) { Console.WriteLine("压缩成功"); Console.ReadKey(); } else { Console.WriteLine("压缩失败"); Console.ReadKey(); }
0 0
- C# JPG图片压缩
- C# 压缩图片
- C#图片压缩算法
- C#图片无损压缩
- C#实现图片压缩
- c#实现图片压缩
- C#压缩图片
- C#压缩图片算法
- C#图片压缩处理
- c#图片压缩
- C#图片压缩
- C#图片无损压缩
- C#图片压缩
- C#图片压缩处理
- C#图片压缩类
- c# 图片压缩算法
- c#图片等比压缩
- C#图片无损压缩
- MATLAB GPU并行编程
- C#中的异常捕获机制(try catch finally)
- iOS开发3-使用DOM(GData)解析XML数据
- 第十三周第二天
- 1022. Digital Library
- C#图片压缩
- UEFI BIOS和UEFI启动模式
- ios学习之uisplitview的学习
- 求数组中频次超过一半的元素
- 第八周项目2 - 建立链串的算法库
- openstack gerrit的日常
- Activity生命周期相关测试
- C#调用注册表,修改IE相关配置
- 软件测试文档管理