使用Java和AsyncScalr缩放大图像

时间:2012-08-27 12:33:57

标签: java image image-processing image-scaling imgscalr

我在Servlet中使用AsyncScalr来缩小一些大图像(~10-15 MegaBytes),实际的大小调整过程大约需要40ms,这并不多。过度杀伤来自将本地存储中的图像作为BufferedImage读取。 所以时间大多是:

读取图像文件:1630ms !! 调整图像大小:41ms 写图像:40ms

下面是我正在使用的代码,有没有更好的方法来执行此操作?

        final FileImageInputStream fileImageInputStream = new FileImageInputStream(file);
        BufferedImage bufferedImage = ImageIO.read(fileImageInputStream);

        // resize file
        Future<BufferedImage> result = AsyncScalr.resize(bufferedImage, Method.SPEED, width, OP_ANTIALIAS, OP_BRIGHTER);
        try {
            bufferedImage = result.get();
        }
        catch (InterruptedException e) {
            e.printStackTrace();
        }
        catch (ExecutionException e) {
            e.printStackTrace();
        }

        // Write the image
        ImageIO.write(bufferedImage, imageOutput, outputStream);

1 个答案:

答案 0 :(得分:0)

回答我的问题,使用java.awt.Toolkit加载图片已经解决了问题。