用java怎么开发图片标注工具_java 图片处理工具 测试
使用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 图片处理工具 测试相关推荐
- java web 开发技术大全 代码_Java Web开发技术大全
资深程序员全力打造,深入剖析SSH框架整合开发的精髓 全方位解读Java Web开发的基础知识.高级技术及应用案例 内容全面,讲解详细,全面覆盖JSP.Se rvlet.AJAX及SSH框架整合开发 ...
- java软件开发工程师面试题_Java开发工程师常见面试题01
Java 基础 1. JDK和 JRE 有什么区别? JDK:Java Development Kit 的简称,Java 开发工具包,提供了 Java 的开发环境和运行环境. JRE:Java Run ...
- 【11款最全最新】Java游戏开发项目合集_Java项目实战_Java练手项目
黄金矿工.俄罗斯方块.飞机大战.超级玛丽.坦克大战.飞翔的小鸟.扫雷.王者荣耀.推箱子.贪吃蛇.大鱼吃小鱼这些经典小游戏相信很多人都玩过.那大家有没有想过亲自制作出这些小游戏呢? 下面就给大家分享这1 ...
- java dump分析工具_Java 性能分析工具 (2):Java 内置监控工具
引言 本文为 Java 性能分析工具系列文章第二篇,第一篇:操作系统工具.在本文中将介绍如何使用 Java 内置监控工具更加深入的了解 Java 应用程序和 JVM 本身.在 JDK 中有许多内置的工 ...
- java 反编译工具=_JAVA反编译工具精选
目前,比较流行的JAVA反编译工具有近30种,其中有三款堪称精品: 一. 应用广泛的JAD 在众多的JAVA反编译工具中,有几种非常著名的工具使用了相同的核心引擎--JAD,其中主要包括:Front ...
- java mysql工具_Java开源数据库管理工具
SQuirreL SQL Client SQuirreL SQL Client 是一个用 Java 编写的程序,它允许您查看数据库的内容.发出 SQL 命令,以及如您将看到的,执行许多其他功能.构建该 ...
- java分层开发模式的概念_Java开发人员的z / OS概念
简介:大型机2.0? 我从未使用过打Kong卡或3480磁带设备. 我不是大型机一代的一员 . 但是,我在信息技术(IT)生涯的早期就曾在大型机商店工作. 我是互联网专家,大型机系统程序员将我带入了翅 ...
- java应用开发常用的中间件_Java开发常用的一些软件工具和插件以及开发中间件...
总结一下自己在java开发中常用的一些软件工具,插件,容器,中间件等. 常用软件及插件 一.intellij idea(及好用的集成插件): 1.iBATIS/MyBatis mini-plugin: ...
- java前补零工具类_java生成编码工具类,不足补0
~~~~~ 小小工具类!你值得拥有 简单粗暴,直接上代码 import java.text.NumberFormat; /** * @author: Abner * @description: 编码工 ...
最新文章
- php 访问超时,PHP http请求超时问题解决方案
- linux fcitx启动 窗口,Linux系统Fcitx中文输入法开机启动方法
- 【计算机网络】物理层 : 基本概念 ( 概述 | 概念 | 机械特性 | 电气特性 | 功能特性 | 规程特性 )
- ITK:应用Exp负图像过滤器
- Echarts多个坐标轴多组/一组数据 - 温度降水量示例
- mysql 存储过程改用户_Mysql修改存储过程相关权限问题
- axios.all()解决并发请求的问题
- 图像卷积详细解释 常用卷积核解释说明
- 20145231熊梓宏 《网络对抗》 实验6 信息搜集与漏洞扫描
- Java程序员:java软件工程师中级证
- Origin作图点太密集处理方法
- 高通驱动程序开发参考(一)
- 软媒硬盘装机 linux,魔方软媒硬盘装机一键搞定图文教程
- 怎么在CAD图纸中标注文字
- selenium自动化中停止页面加载
- linux修改宽带拨号密码,Linux下ADSL拨号配置
- mybatis框架xml中trim中的prefix与suffix等标签的作用
- 新建的web项目为什么默认访问index.jsp
- Spring Boot 快速入门(二)主配置文件、yml配置文件语法
- python之数据库-表操作
热门文章
- TensorRT 数据格式说明
- Python分析离散心率信号(下)
- 利用反射计芯片进行非接触式液位测量
- RCNN系列、Fast-RCNN、Faster-RCNN、R-FCN检测模型对比
- 2021年大数据Hadoop(十四):HDFS的高可用机制
- 2021年大数据Flink(二十九):Flink 容错机制 Savepoint
- DCN-2655同异步端口
- MySQL新建数据库+用Navicat查看MySQL的方法
- linux 6.4 图形界面,为CentOS 6.4安装图形界面并用VNC远程连接
- python 等号报错_Python学习----Python基础