相关疑难解决方法(0)

字节数组缓冲图像转换速度慢

我有一个简单的服务器端代码,它接收一个表示JPEG格式图像的字节数组,并返回图像的尺寸.

public String processImage(byte[] data) {
    long startTime = System.currentTimeMillis();
    ByteArrayInputStream stream = new ByteArrayInputStream(data);
    BufferedImage bufferedImage;
    bufferedImage = ImageIO.read(stream);

    int height = bufferedImage.getHeight();
    int width = bufferedImage.getWidth();

    long endTime = System.currentTimeMillis();

    return "height="+height+" | width="+width+" | elapsed="+(endTime-startTime);
}
Run Code Online (Sandbox Code Playgroud)

它有效,但问题是它的速度慢得令人无法接受.对于100KB的图像,它需要6s.对于900KB的图像,它需要30秒.这是预期的吗?有没有办法让字节数组更快地进行bufferedImage转换?

仅供参考,抓住高度/宽度并不是我打算做的唯一事情.我最终想要处理bufferedImage.所以获得高度/宽度只是一个示例代码.

java bufferedimage bytearrayinputstream javax.imageio

6
推荐指数
2
解决办法
2340
查看次数