目录

简单的介绍

图像压缩类


简单的介绍

某宝店铺上传图片时,要求单张图片大小不能大于3M。而现在的手机像素越来越高,一张图片的字节数也越来越大。

在遇到需要大量上传图片时,那可真是苦不堪言呀。

为了满足本人懒惰的性格,就研究了一下可以根据所给的文件夹目录,自动查找所有的图片,并根据指定的压缩百分比和大小,批量压缩,并一比一存放在指定文件夹内。如图:

快压缩结束了

压缩完成弹出提示框

两个目录下的文件夹对比

图片大小对比

文件数量对比

图像压缩类

 class Compression{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;}/// <summary>/// 通过质量压缩图片/// </summary>/// <param name="iSource">传入的Bitmap对象</param>/// <param name="cStream">压缩后的Stream对象</param>/// <param name="level">压缩等级,0到100,0 最差质量,100 最佳</param>public static void Compress(Bitmap iSource, Stream cStream, long level){ImageCodecInfo myImageCodecInfo;Encoder myEncoder;EncoderParameter myEncoderParameter;EncoderParameters myEncoderParameters;// 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;// 创建一个 EncoderParameters 对象.// 一个 EncoderParameters 对象有一组EncoderParameter对象// 在下面的代码中,EncoderParameters数组中只有一个EncoderParameter对象myEncoderParameters = new EncoderParameters(1);// 用给定的Level值压缩图片myEncoderParameter = new EncoderParameter(myEncoder, level);myEncoderParameters.Param[0] = myEncoderParameter;iSource.Save(cStream, myImageCodecInfo, myEncoderParameters);}/// <summary>/// 通过递归的方式,以起点level 和 终点 图像字节长度length 对图像进行压缩 /// </summary>/// <param name="srcBitMap">传入的Bitmap对象</param>/// <param name="destFile">压缩后的图片保存路径</param>/// <param name="level">压缩等级,0到100,0 最差质量,100 最佳</param>/// <param name="length">终点长度 单位字节; 1024字节 = 1kb ; 1024kb = 1MB </param>public static void Compress(Bitmap srcBitMap, string destFile, long level,long length){Stream s = new FileStream(destFile, FileMode.Create);Compress(srcBitMap, s, level);if (s.Length > length){s.Close();if(File.Exists(destFile)){File.Delete(destFile);}Compress(srcBitMap, destFile, --level, length);}s.Close();srcBitMap.Dispose();}}

【有觉得需要其他压缩功能可以发表评论,本人能力够的话可以做到这个小工具里,其他功能也会持续更新】

C#小工具 ---- 压缩图片并指定图片大小相关推荐

  1. 如何快速在线压缩图片大小(包括放大、缩小图片,指定图片尺寸和压缩图片品质)

    在日常的学习和工作中,我们经常会遇到压缩和修改图片大小的问题,如果我们不是专业的设计人员,一般电脑上不会安装ps软件,那么我们如何通过网页,在线快速简单的来完成操作呢?下面小编和大家一块分享下具体如何 ...

  2. python自制语音识别_为了满足我的需求,自己用python写了个小工具合集,包括图片、语音识别、翻译pdf等...

    本帖最后由 zhaoyun007 于 2019-6-29 20:10 编辑 V2.0版更新: 加入免费的音频转文字接口,免费的有普通话.英文.粤语.四川话识别,速度慢些,但准确率还可以. QQ截图20 ...

  3. java按比例压缩图片到指定的大小(kb、mb)

    网上有很多压缩图片的方法,但是要么就是不能压缩到指定的大小以内,要么就是要引用第三方的插件,都不太符合我的要求,所以就想着自己写一个方法来实现.这种方法有点不好就是如果图片特别大则要进行多次判断和读取 ...

  4. python登录网站下载excel_写了一个小工具,爬去指定网站的的登陆后的数据进行整理,可以正常登陆了,但是无法下载excel文件?...

    题目描述 我计划写一个小工具,爬取我账号里面的数据,采用requests登陆后,虽然可以正常登陆,但是无法下载里面Excel数据,麻烦大货帮我分析一下,怎么解决.我知道可能是权限问题,下载的时候需要带 ...

  5. python动态图片转字符画_【小工具】使用python将图片转彩色字符画

    [Python] 纯文本查看 复制代码# -*- coding:utf-8 -*- from PIL import Image, ImageFont, ImageDraw from tkinter i ...

  6. 【kimol君的无聊小发明】—用python写图片格式批量处理工具

    [kimol君的无聊小发明]-用python写图片格式批量处理工具 前言 一.思路分析 二.调整尺寸 三.调整大小 四.整合代码 写在最后 前言 某个夜深人静的夜晚,夜微凉风微扬,月光照进我的书房~ ...

  7. 可以用python实现一些小发明_【kimol君的无聊小发明】—用python写图片格式批量处理工具...

    前言某个夜深人静的夜晚,夜微凉风微扬,月光照进我的书房~ 当我打开文件夹以回顾往事之余,惊现许多看似杂乱的无聊代码.我拍腿正坐,一个想法油然而生:"生活已然很无聊,不如再无聊些叭" ...

  8. java指定图片的dpi和存储大小kb

    java指定图片的dpi和存储大小kb google图片处理插件 java代码(只需要修改下文件路径往里面存图片就行了) 参考文章 公司需求,将文件夹下面的所有图片dpi设置为300,存储大小为90到 ...

  9. portlet_平台策略:从Portlet到OpenSocial小工具再到渐进式Web应用程序:最新技术

    portlet 介绍 由于世界仍在Java的掌控之中,因此我们经常定义所谓的基于组件的平台 . 我在2000年拥有OpenUSS(开放大学支持系统)的经验. 当时我有一个想法,就是开发一个可以使用组件 ...

最新文章

  1. Linux(CentOS)目录操作命令、文件操作命令、压缩解压缩命令
  2. Table tr td th表格使用案例
  3. 数据库:B+树索引和Hash索引得区别
  4. spoolsv.exe占cpu 99%的解决方法(转)
  5. Android 最新左右可见上下页的banner实现demo
  6. mxnet安装(Jetson)
  7. PHP安装imagemagick扩展imagick
  8. 机器学习硕士、博士如何自救?
  9. ansys里面自带chemkin_ANSYS CHEMKINPRO复杂化学反应快速仿真
  10. python数组_Python数组
  11. 阶段5 3.微服务项目【学成在线】_day04 页面静态化_12-页面静态化-页面静态化流程...
  12. SPSS:因子分析步骤
  13. 小程序下wxParse 渲染html代码
  14. WPS打不出英文引号
  15. SARS-CoV-2的近端起源
  16. 最新二开微信表情包小程序+前后端 【去授权版】
  17. 学计算机高考英语听力考试,高考英语听力机考,常识、实操、备考,你要知道这些...
  18. Go语言学习 二十三 错误处理和运行时恐慌(Panic)
  19. sip是什么?Mac电脑如何关闭sip?关闭系统完整性保护SIP的方法教程
  20. 周三直播 | PaddleGAN又开金手指,零门槛人像转卡通

热门文章

  1. MATLAB--数字图像处理 图像噪声与滤波处理
  2. 一篇入门电容的选择和使用
  3. java poi jar包下载_poi.jar下载-poi.jar包下载 (3.8/3.9/3.10)版--pc6下载站
  4. 转载-30分钟搞定后台登录界面(103个后台PSD源文件、素材网站)
  5. LaKSA: A Probabilistic Proof-of-Stake Protocol
  6. CUTEFTP 权限的修改 之CuteFTP问题 修复CUTEFTP unable to transfer
  7. JVM的Eden由来
  8. php如何访问web api,如何在PHP中创建Web API服务?
  9. No.5终于搞懂了kmp算法(精髓为next数组的求解过程,此文next数组未经过优化)
  10. P5715 【深基3.例8】三位数排序