修改图片的像素,清晰度

代码

/**

* 改变图片 像素

*

* @param file

* @param qality 参数qality是取值0~1范围内 清晰程度 数值越小分辨率越低

* @param imageType 图片写出类型 比如 jpg

* @return

* @throws IOException

*/

public static File compressPictureByQality(File file, float qality,String imageType) throws IOException {

BufferedImage src = null;

FileOutputStream out = null;

ImageWriter imgWrier;

ImageWriteParam imgWriteParams;

logger.info("开始设定压缩图片参数");

// 指定写图片的方式为 jpg

imgWrier = ImageIO.getImageWritersByFormatName(imageType).next();

imgWriteParams = new javax.imageio.plugins.jpeg.JPEGImageWriteParam(

null);

// 要使用压缩,必须指定压缩方式为MODE_EXPLICIT

imgWriteParams.setCompressionMode(ImageWriteParam.MODE_EXPLICIT);

// 这里指定压缩的程度,参数qality是取值0~1范围内,

imgWriteParams.setCompressionQuality(qality);

imgWriteParams.setProgressiveMode(ImageWriteParam.MODE_DISABLED);

ColorModel colorModel = ImageIO.read(file).getColorModel();// ColorModel.getRGBdefault();

imgWriteParams.setDestinationType(new javax.imageio.ImageTypeSpecifier(

colorModel, colorModel.createCompatibleSampleModel(32, 32)));

logger.info("结束设定压缩图片参数");

if (!file.exists()) {

logger.info("Not Found Img File,文件不存在");

throw new FileNotFoundException("Not Found Img File,文件不存在");

} else {

logger.info("图片转换前大小" + file.length() + "字节");

src = ImageIO.read(file);

out = new FileOutputStream(file);

imgWrier.reset();

// 必须先指定 out值,才能调用write方法, ImageOutputStream可以通过任何

// OutputStream构造

imgWrier.setOutput(ImageIO.createImageOutputStream(out));

// 调用write方法,就可以向输入流写图片

imgWrier.write(null, new IIOImage(src, null, null),

imgWriteParams);

out.flush();

out.close();

logger.info("图片转换后大小" + file.length() + "字节");

return file;

}

}

原图

修改之后的图

java 修改图片分辨率_java 修改图片的像素大小,清晰度相关推荐

  1. java 调整图片分辨率_java 改变图片的分辨率。。。可以吗?

    展开全部 我给你一个Servlet的源代码,你把这个配置好,试62616964757a686964616fe4b893e5b19e31333262373261试吧.建议把代码复制到一个开发工具中,这样 ...

  2. 图片分辨率如何修改?改图片分辨率的方法

    在很多图片上传平台,都会对图片分辨率有具体要求,但是我们拍摄的图片都只有96dpi,需要使用专业的改图片分辨率去修改图片分辨率(https://www.yasuotu.com/dpi).下面推荐一个可 ...

  3. jpg格式图片分辨率怎样修改?怎么调节jpg图片的分辨率?

    jpg格式图片分辨率怎样修改?最近收到很多小伙伴的私信问图图怎么调节jpg图片的分辨率,因为最近有很多小伙伴需要上传照片,照片的尺寸.大小都符合要求了但是还是一直无法上传成功,最后才知道是图片分辨率不 ...

  4. java获取图片的分辨率_Java读取图片分辨率

    代码依赖于其他工具包,下载请移步:http://download.csdn.net/detail/zhaoguoshuai91/9231957 废话不多说,直接上代码 public class Ima ...

  5. java 修改word属性_Java修改/替换Word批注

    本文将介绍通过Java程序 来修改或替换Word文档中已有的批注内容.修改或替换方法包括: 使用新的文本替换原有批注中的文本 使用新的文本替换原有批注中的图片 使用新的图片替换原有批注中的图片 使用工 ...

  6. java制作水效果_java实现图片加水印效果

    图片加水印代码,这些代码不常用,但是用到的时候需要注意的地方也挺多的,每次都重写比较麻烦,记下来备忘.代码是图片加水印的一般流程,可根据实际项目需要自行修改. 注:代码在JPG和PNG格式图片下测试通 ...

  7. java验证图片大小_java 校验图片的大小、尺寸、比例

    import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import javax.i ...

  8. java 图片水印_JAVA实现图片水印

    一.JAVA图片水印实现原理 1.1.JAVA图片水印实现思路 1.创建缓存图片对象. 2.创建Java绘图工具对象. 3.使用绘图工具对象将原图绘制到缓存图片对象. 4.使用绘图工具将水印(文字/图 ...

  9. java实现图片验证码_JAVA实现图片验证码

    一.创建image工具类 import javax.imageio.ImageIO; import java.awt.*; import java.awt.image.BufferedImage; i ...

最新文章

  1. linux怎么编译并安装busybox,linux下安装busybox
  2. 《JavaScript高效图形编程(修订版)》——第2章 DHTML基础 2.1创建DHTML sprite
  3. Spring Cloud(六) 服务网关GateWay 入门
  4. Spring Security OAuth2——自定义OAuth2第三方登录(Gitee)并与UsernamePassword登录关联解决方案
  5. mysql查看表的两列_MySQL查询来计算表列中的0和1的数量,并在两列中显示?
  6. ajax请求相关问题
  7. Linux下git使用
  8. unity3D常见问题
  9. Spring Boot中实现简单表单提交(登录功能)
  10. 鸿蒙ACE框架-使用JS调用C++(1)
  11. Ubuntu 装机必备设置与软件安装
  12. 【蓝桥杯嵌入式】【STM32】9_PWM之实现交替呼吸灯
  13. google protobuf windows下环境配置
  14. xml-配置bean之depends-on
  15. 如何打印复印试卷,试卷打印复印去哪里方便
  16. MySQL 查询本月各周
  17. 冒险岛 PHP,php基础知识
  18. cad2010怎么隐藏标注尺寸,cad2007怎么隐藏标注尺寸
  19. IPHONE视频软件测试,工具|6款视频剪辑APP测评
  20. 大学开学初计算机水平测试,请查收这份大学生开学攻略——

热门文章

  1. java中String xx xx_Java中常用String方法
  2. C语言编程>第十六周 ⑤ 请补充fun函数,该函数的功能是:依次取出字符串中所有大写字母,形成新的字符串,并取代原字符串。
  3. 【深度】NGINX Rewrite 详解
  4. pythonstdin_关于python:从sys.stdin接收输入,非阻塞
  5. Java随笔记 - Java NIO的初步认识,NIO的三个核心概念,Channel和Buffer的简单使用
  6. efishell无法开机shell_efi shell 添加启动项 修复启动
  7. cadence lux介绍_Cadence软件介绍
  8. 《Android开发艺术探索》之Activity的生命周期和启动模式(一)
  9. 关于写作,别那么在意别人的看法,开始干吧
  10. Tomasulo算法与记分牌算法的区别