用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查询结果自定义显示_JPA自定义