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