在Java中将大图像作为缩略图加载而没有内存问题吗?

在Java中将大图像作为缩略图加载而没有内存问题吗?,第1张

在Java中将大图像作为缩略图加载而没有内存问题吗?

问题出在使用BufferedImage本身。到将文件读入内存时,您将没有堆空间了。根据用途不同,可以使用图像读取器,也可以增加堆的大小。

我建议您使用图像阅读器。例如,要获取图像阅读器,您需要编写以下代码:

  // Create an image input stream on the image    ImageInputStream iis = ImageIO.createImageInputStream(o);    // Find all image readers that recognize the image format    Iterator iter = ImageIO.getImageReaders(iis);    if (!iter.hasNext()) {        // No readers found        return null;    }    // Use the first reader    ImageReader reader = (ImageReader)iter.next();

来自:http :
//www.exampledepot.com/egs/javax.imageio/DiscType.html

拥有ImageReader的人可以通过调用以下命令获得宽高比

reader.getAspectRatio()

我不确定您如何将ImageReader转换为缩略图。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5439011.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-11
下一篇 2022-12-11

发表评论

登录后才能评论

评论列表(0条)

保存