7

ImageMagick 的“转换”命令行工具允许您在执行其操作时指定内存使用限制。我想找到一个提供相同选项的 Java 图像大小调整库。我的应用程序有时会得到非常大的 JPEG,需要将它们下采样到合理的大小。例如,一张 11600 x 5152 的图像仅在解压缩时会消耗大约 227MB 的内存;调整大小的过程最终会使用更多。

在 Java 中,有没有办法在不解压缩内存中的整个图像的情况下将非常大的图像调整为合理的大小?

4

1 回答 1

3

我认为这个话题已经在某种程度上讨论过:什么是最好的java图像处理库/方法?

然而,Java 本身提供了一个图像操作和处理 API,它具有读取(并因此操作)块中像素数据的可能性;您可以围绕它编写代码以按预期执行,但根据您的需要,性能的实际改进不值得麻烦。

根据您的需要,实现最佳性能的可靠方法是通过 JNI,通过使用某种本机解决方案(如纯 C OpenGL 代码)来处理图像加载和处理。但是您当然意识到,出于同样的原因,这可能被认为是矫枉过正,根本不值得麻烦。同样,已经在这里讨论过:Load a PNG image into Java as BufferedImage through JNI C code

于 2012-11-12T18:46:09.623 回答