图片质量压缩
今天图片上传的时候,一张图片宽高有4000*7000左右(只有1.3M左右),然后按照以前的方法,生成了100多兆的图
然后,问题就来了
找了老半天,虽然刚开始也有百度到 EncoderParameter p类似这个的,但是那时候没注意,总觉得不是所需要的,感觉是其他保存形式
后来实在是没找到什么解决办法,就干脆拿来试一试
1 2 3 4 5 6 7 8 9 | EncoderParameter p; EncoderParameters ps; ps = new EncoderParameters(1); long [] qualityArray = new long [1]; qualityArray[0] = request.Quality; p = new EncoderParameter(System.Drawing.Imaging.Encoder.Quality, qualityArray); ps.Param[0] = p; image.Save(path, ImageUtil.GetCodecInfo( "image/jpeg" ), ps); |
1 2 3 4 5 6 7 8 9 10 11 12 | public static ImageCodecInfo GetCodecInfo( string mimeType) { ImageCodecInfo[] CodecInfo = ImageCodecInfo.GetImageEncoders(); foreach (ImageCodecInfo ici in CodecInfo) { if (ici.MimeType == mimeType) { return ici; } } return null ; } |
开始直接拿了网上的,结果总是不对,要不参数错误,要不就提示null
总不得其然
问了问同事,拿了以前项目的代码才发现是
1 2 | long [] qualityArray = new long [1]; qualityArray[0] = request.Quality; |
这个参数拿的是long[]数据,当然有重载,long直接一个值的好像也是有的,没试。
设置后,图片的大小就变得超级小了。
即使设置了100的压缩质量,也是比原图小的,至于这个设置就不是特别清楚了。
总的来说,解决了问题,就不用这么头疼了。
fighting
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现