使用Thumbnails实现图片指定大小压缩
上片文章说明了一下Thumbnails 的使用方法,包括图片缩放,裁切以及水印。现在单独的说一下压缩的事情。
对于压缩图片,我们常常是希望能够保证图片大小基本不变而且清晰度还能保持住。那么我们可以使用下面的方式
package com.basic.testdemo;import net.coobird.thumbnailator.Thumbnails;import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.math.BigDecimal;/*** @author summer* @date 2021-11-04 12:21*/
public class Demo3 {public static void main(String[] args) throws IOException {commpressPicCycle("D:\\testdemo\\1.jpg",2024,0.8);}public static void commpressPicCycle(String desPath , long desFileSize,double accuracy) throws IOException {File imgFile = new File(desPath);long fileSize = imgFile.length();//判断大小,如果小于500k,不压缩,如果大于等于500k,压缩if(fileSize <= desFileSize * 500){return;}//计算宽高BufferedImage bim = ImageIO.read(imgFile);int imgWidth = bim.getWidth();int imgHeight = bim.getHeight();int desWidth = new BigDecimal(imgWidth).multiply(new BigDecimal(accuracy)).intValue();int desHeight = new BigDecimal(imgHeight).multiply(new BigDecimal(accuracy)).intValue();Thumbnails.of(desPath).size(desWidth, desHeight).outputQuality(accuracy).toFile(desPath);//如果不满足要求,递归直至满足小于500k的要求commpressPicCycle(desPath, desFileSize, accuracy);}
}
下面是压缩前后图片的大小
使用Thumbnails实现图片指定大小压缩相关推荐
- 通过google插件Thumbnails实现图片指定大小压缩
前言: 1.由于商户进件时,上游对图片大小有要求(500kb以下),而我们平台图片过大(10M以上),所以必须通过程序将图片压缩后再上传: 2.java api可以通过ImageIO实现图片压缩,但效 ...
- 怎么把照片缩小到200k?图片指定大小压缩怎么弄?
平时在给账号设置头像时,都会遇到图片过大无法上传的情况,这时候我们可以通过图片压缩指定大小工具来将图片压缩到200kb以下,这样就可以顺利设置头像了,下面一起来看一下图片指定大小压缩(https:// ...
- vue 图片指定大小压缩
1.安装命令npm i image-conversion --save 2.引入插件 import * as imageConversion from "image-conversion&q ...
- JAVA根据指定大小压缩图片
/*** 根据指定大小压缩图片** @param sourceFilePath 源图片路径 + 文件名(例 "D:\\image\\aa.jpg")* @param outFile ...
- object-fit 解决图片指定大小被压缩问题
object-fit 解决图片指定大小被压缩问题 第一次遇到这个属性,是在给video 写 poster的时候,选取的作为poster的img的尺寸有点小,导致video播放器两边有留白.在控制台查看 ...
- C# 图片压缩(指定大小压缩和指定尺寸压缩)
一按大小压缩测试代码: 一测试效果: 一主要代码: /// <summary>/// 压缩图片至200 Kb以下/// </summary>/// <param name ...
- 将图片压缩至指定大小Kb(Thumbnailator)
放代码前,先唠叨唠叨,舒缓一下我的郁闷之情. 今天下午改一个后台管理系统的需求,要求上传的图片要压缩到300kb,感觉不难,就开搞. 先撩拨一下度娘,搞点货出来瞅瞅,不复杂就干脆搬砖算了. 嗯,度娘不 ...
- java 压缩图片至指定大小
需求: 压缩图片至300k以下 一开始没有思路在网上搜,发现google有个插件叫Thumbnails,然后看到了这篇文章: https://blog.csdn.net/u010355502/arti ...
- java jsoup抓取百度图片保存到本地,并压缩到指定大小(可指定宽高或者流大小)
代码如下: package cn.xyz.commons.utils; import java.awt.image.BufferedImage; import java.io.ByteArrayInp ...
- Springboot 上传图片压缩至指定大小以下
/*** @Description:压缩上传* @Author: duyaqiong* @Date: 2020/9/19 14:53* @param imageFile* @param request ...
最新文章
- Map容器大小影响key的索引
- 父母已身作则,静待花开
- nodejs-url网址解析的好帮手
- Java--类的成员
- Linux系统的iptables防火墙、SNAT、DNAT原理与设置规则
- Web程序员的Mysql进阶序一之sql使用分类及基础
- python程序—名片管理系统
- Python官方文档学习心得(第一章)
- js特效之上下翻页相册效果
- 安全提示:IIS不要开启“WebDAV”扩展
- python的自带数据集_怎么使用pandas读入python自带的iris数据集
- HTTP数据传输机制的演变:从0.9到3.0
- 怎么在PDF文档中为文字添加下划线
- 电路中的输入输出阻抗以及阻抗匹配
- 基于Java EE的网上书店系统
- 利用telemetry进行权限维持
- 7-41 哥尼斯堡的“七桥问题” (25 分)
- WebGIS理论知识(七)—走进互联网地图
- 中国计算机学会推荐国际期刊和会议2011
- OAUTH之 钉钉第三方授权登录
热门文章
- Learn1:在Power Apps平台创建第一个 Canvas App
- 图标旋转html,如何使用CSS实现鼠标上移图标旋转的效果
- MindSpore: CV.Rescale(rescale,shift)中参数rescale和shift的含义?
- python在视频上方加字_如何用python 在视频上添加自己的logo
- hudi系列-文件压缩(compaction)
- android解锁方法,手机如何解锁密码 几种安卓手机解锁方法介绍
- UG NX 12 将草图对象转化为参考线
- 性能测试实战(二):性能测试基础
- 搜索引擎原理第一阶段之爬行和抓取
- 整型最大值java,整数的最大值