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