我有一个非常大的RenderedImage格式的图像(大约200000x200000像素)。我裁剪了它,然后使用JAI的ScaleDescriptor (它返回一个RenderedOp)对它进行了缩放。我的最终图像只有大约30x30,但当我从结果缩放图像调用getAsBufferedImage (我首先获取PlanarImage )时,它需要几分钟才能创建。我猜有一些参考回到了原始图像,这花了很长时间,但我不确定。有人知道为什么要花这么长时间吗?
谢谢,杰夫
发布于 2010-12-23 01:15:57
使用JAI,您正在构建一个渲染链;因此,当您调用.scale时,它实际上并没有在这一点上进行缩放,而只是将其添加到链中(因此在调试器中,它将是即时的)。只有在最后,当你去实现你的新图像中的像素时,操作才会发生。
您正在进行的伸缩量似乎很大,并且可能非常昂贵。我已经有几年没有做JAI了;你能指定缩放算法吗?当你可以做一些简单得多的事情时,它可能是在做不必要的插值。
发布于 2010-12-23 02:16:21
尝试使用http://www.imagemagick.org/script/index.php,你会看到更好的图像质量,
https://stackoverflow.com/questions/4511656
复制相似问题