我在项目中使用im4java进行各种图像处理技术,例如裁剪,调整大小,填充和旋转。在此之前,我使用java.lang.Runtime.exec
在命令提示符下运行命令。现在,当我对两种方法进行基准测试时,它们几乎给出了相同的结果!我不需要im4java
的并行处理功能,因为一个进程的输出是另一个进程的输入,因此是顺序的。就我而言,它仅提供一个优点:易于使用。就这样。
您认为我的代码中缺少什么还是缺少什么?任何建议都会有很大帮助。提前致谢!
最佳答案
是的,没错,使用im4java只能提供与Runtime.exec相同的性能。或者可能更慢,因为它具有命令构建和转换层。
但是,如果您的应用程序是一次运行转换大量图像(或大规模并发处理),那么请让我无耻地介绍gm4java,它可以帮助提高性能。
gm4java利用最近开发的GraphicsMagick批处理/交互式模式来避免为每个命令一次又一次地启动新的GraphicsMagick进程。它可以用作im4java的补充,或仅执行为Runtime.exec构建的命令。