java 图片处理工具 测试

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

具体工具功能见  http://www.cnblogs.com/linkstar/p/7412012.html

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

 @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的地址

<dependency>
   <groupId>net.coobird</groupId>
   <artifactId>thumbnailator</artifactId>
   <version>0.4.8</version>
</dependency>

猜你喜欢

转载自my.oschina.net/u/3820486/blog/1814859