It's our wits that make us men.

Java图片处理

Posted on By Freud Kang

系统之前用的图片处理的插件是Thumbnails,该插件在处理图片后生成图片的方法Thumbnails.toFile(file)执行时间特别的长。客户端在上传一个4M左右的图片调后台返回图片信息的接口大约需要半分钟的时间才能有返回,如果在移动端让用户等待这么长时间会让用户体验很差。而现在的只能手机像素都很高,照出来的图片很多情况下比4M还要大,所以这个问题需要及时处理。

找了几个类似的图片处理的插件,最后选择了imgScalr的这个工具类,如果按照以速度优先的方式对图片进行处理,这次图片处理的速度大约在之前的三分之一左右。

imgScalr的处理代码如下:

try {
    BufferedImage bi = Scalr.resize(img, Scalr.Method.SPEED, Scalr.Mode.FIT_TO_WIDTH,width, height, Scalr.OP_ANTIALIAS);
    if (!ImageIO.write(bi, "jpg", jpgFile)) System.out.println("File write failed.");
} catch (IOException e) {
    e.printStackTrace();
}

[jekyll]: http://jekyllrb.com
[jekyll-gh]: https://github.com/jekyll/jekyll
[jekyll-help]: https://github.com/jekyll/jekyll-help