使用google 开源工具 对图片进行 压缩 处理 ,

这里只测试一下压缩功能 :

@RequestMapping(value = "/image/dealImage", method = RequestMethod.POST)

public ModelMap dealImage(MultipartFile file, HttpServletRequest request) {

ModelMap modelMap = new ModelMap();

try {

InputStream io = file.getInputStream();

int size = io.available();

if (size <= 0) {

modelMap.put("code", "500");

modelMap.put("message", "图片为空!");

return modelMap;

}

String fileName = file.getOriginalFilename();

String name = fileName.substring(0, fileName.lastIndexOf("."));

String suffix = fileName.substring(fileName.lastIndexOf(".") + 1);

/**

* 生成图片的地址

*/

String path = env.getProperty("statics.path");

String uuid = UUID.randomUUID().toString().replace("-", "");

//目录

String dir = path + "image" + "/";

//地址

String url = dir + name + uuid + "." + suffix;

File file2 = new File(url);

if (!file2.exists()) {

//先得到文件的上级目录,并创建上级目录,在创建文件

file2.getParentFile().mkdirs();

file2.createNewFile();

}

/**

* 调用google 的图片处理方法

*   1. 原图文件的路径  /图片io流

*   2. scale是可以指定图片的大小,值在0到1之间,1f就是原图大小,0.5就是原图的一半大小,这里的大小是指图片的长宽。

*   3. outputQuality是图片的质量,值也是在0到1,越接近于1质量越好,越接近于0质量越差。

*   4. 压缩后文件的路径

*/

Thumbnails.of(io).scale(0.5f).outputQuality(1f).toFile(url);

modelMap.addAttribute("code", "200");

modelMap.addAttribute("message", "上传成功!");

} catch (IOException e) {

logger.error("", e);

}

return modelMap;

}

得到对比图如下:

看起来似乎生成的图片与原图有点不同.

但是,我又打开了两张生成的图片1,2进行对比,

交换 1,2 图片位置

原来是视觉问题!!!

maven的地址

net.coobird

thumbnailator

0.4.8

用java怎么开发图片标注工具_java 图片处理工具 测试相关推荐

  1. java web 开发技术大全 代码_Java Web开发技术大全

    资深程序员全力打造,深入剖析SSH框架整合开发的精髓 全方位解读Java Web开发的基础知识.高级技术及应用案例 内容全面,讲解详细,全面覆盖JSP.Se rvlet.AJAX及SSH框架整合开发 ...

  2. java软件开发工程师面试题_Java开发工程师常见面试题01

    Java 基础 1. JDK和 JRE 有什么区别? JDK:Java Development Kit 的简称,Java 开发工具包,提供了 Java 的开发环境和运行环境. JRE:Java Run ...

  3. 【11款最全最新】Java游戏开发项目合集_Java项目实战_Java练手项目

    黄金矿工.俄罗斯方块.飞机大战.超级玛丽.坦克大战.飞翔的小鸟.扫雷.王者荣耀.推箱子.贪吃蛇.大鱼吃小鱼这些经典小游戏相信很多人都玩过.那大家有没有想过亲自制作出这些小游戏呢? 下面就给大家分享这1 ...

  4. java dump分析工具_Java 性能分析工具 (2):Java 内置监控工具

    引言 本文为 Java 性能分析工具系列文章第二篇,第一篇:操作系统工具.在本文中将介绍如何使用 Java 内置监控工具更加深入的了解 Java 应用程序和 JVM 本身.在 JDK 中有许多内置的工 ...

  5. java 反编译工具=_JAVA反编译工具精选

    目前,比较流行的JAVA反编译工具有近30种,其中有三款堪称精品: 一. 应用广泛的JAD 在众多的JAVA反编译工具中,有几种非常著名的工具使用了相同的核心引擎--JAD,其中主要包括:Front ...

  6. java mysql工具_Java开源数据库管理工具

    SQuirreL SQL Client SQuirreL SQL Client 是一个用 Java 编写的程序,它允许您查看数据库的内容.发出 SQL 命令,以及如您将看到的,执行许多其他功能.构建该 ...

  7. java分层开发模式的概念_Java开发人员的z / OS概念

    简介:大型机2.0? 我从未使用过打Kong卡或3480磁带设备. 我不是大型机一代的一员 . 但是,我在信息技术(IT)生涯的早期就曾在大型机商店工作. 我是互联网专家,大型机系统程序员将我带入了翅 ...

  8. java应用开发常用的中间件_Java开发常用的一些软件工具和插件以及开发中间件...

    总结一下自己在java开发中常用的一些软件工具,插件,容器,中间件等. 常用软件及插件 一.intellij idea(及好用的集成插件): 1.iBATIS/MyBatis mini-plugin: ...

  9. java前补零工具类_java生成编码工具类,不足补0

    ~~~~~ 小小工具类!你值得拥有 简单粗暴,直接上代码 import java.text.NumberFormat; /** * @author: Abner * @description: 编码工 ...

最新文章

  1. php 访问超时,PHP http请求超时问题解决方案
  2. linux fcitx启动 窗口,Linux系统Fcitx中文输入法开机启动方法
  3. 【计算机网络】物理层 : 基本概念 ( 概述 | 概念 | 机械特性 | 电气特性 | 功能特性 | 规程特性 )
  4. ITK:应用Exp负图像过滤器
  5. Echarts多个坐标轴多组/一组数据 - 温度降水量示例
  6. mysql 存储过程改用户_Mysql修改存储过程相关权限问题
  7. axios.all()解决并发请求的问题
  8. 图像卷积详细解释 常用卷积核解释说明
  9. 20145231熊梓宏 《网络对抗》 实验6 信息搜集与漏洞扫描
  10. Java程序员:java软件工程师中级证
  11. Origin作图点太密集处理方法
  12. 高通驱动程序开发参考(一)
  13. 软媒硬盘装机 linux,魔方软媒硬盘装机一键搞定图文教程
  14. 怎么在CAD图纸中标注文字
  15. selenium自动化中停止页面加载
  16. linux修改宽带拨号密码,Linux下ADSL拨号配置
  17. mybatis框架xml中trim中的prefix与suffix等标签的作用
  18. 新建的web项目为什么默认访问index.jsp
  19. Spring Boot 快速入门(二)主配置文件、yml配置文件语法
  20. python之数据库-表操作

热门文章

  1. TensorRT 数据格式说明
  2. Python分析离散心率信号(下)
  3. 利用反射计芯片进行非接触式液位测量
  4. RCNN系列、Fast-RCNN、Faster-RCNN、R-FCN检测模型对比
  5. 2021年大数据Hadoop(十四):HDFS的高可用机制
  6. 2021年大数据Flink(二十九):Flink 容错机制 Savepoint
  7. DCN-2655同异步端口
  8. MySQL新建数据库+用Navicat查看MySQL的方法
  9. linux 6.4 图形界面,为CentOS 6.4安装图形界面并用VNC远程连接
  10. python 等号报错_Python学习----Python基础