0

我有一个 RenderedImage 形式的非常大的图像(~200,000x200,000 像素)。我裁剪它,然后使用 JAI 的 ScaleDescriptor(它返回一个 RenderedOp)对其进行缩放。我的最终图像只有大约 30x30,但是当我从生成的缩放图像中调用getAsBufferedImage(我得到第PlanarImage一个)时,创建需要几分钟。我猜有一些对原始图像的引用,这需要很长时间,但我不确定。有谁知道为什么这需要这么长时间?

谢谢,杰夫

4

2 回答 2

1

使用 JAI,您正在构建渲染链;因此,当您调用 .scale 时,它​​实际上并没有在该点进行缩放,而只是将其添加到链中(因此在调试器中它将是即时的)。只有在您最终意识到新图像中的像素时才会执行操作。

您正在做的扩展量似乎很多,而且可能非常昂贵。几年没做过JAI了;你能指定缩放算法吗?当您可以摆脱更简单的事情时,它可能会进行不必要的插值。

于 2010-12-22T17:15:56.680 回答
0

试试http://www.imagemagick.org/script/index.php你会看到更好的图片质量,

于 2010-12-22T18:16:21.213 回答