【问题标题】:ImageMagick commands are not working from JAVA code in OSXImageMagick 命令不适用于 OSX 中的 JAVA 代码
【发布时间】:2014-07-02 09:26:59
【问题描述】:

ImageMagick 命令不适用于 JAVA 代码。

Runtime.getRuntime().exec("compare /Users/labuser/Downloads/test.jpg /Users/labuser/Downloads/test1.jpg /Users/labuser/Downloads/differnce.jpg");

例外:

java.io.IOException: Cannot run program "compare": error=2, No such file or directory
    at java.lang.ProcessBuilder.start(ProcessBuilder.java:1041)

当我从终端尝试时,它工作正常并在指定路径中生成输出文件。 我已经验证了 echo $PATH 并且它设置为

PATH=/opt/local/bin:/opt/local/sbin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/ImageMagick/bin

任何人请建议我是否需要添加一些东西才能从终端执行这些命令? 对于其他命令,它可以从终端正常工作,并且仅使用 imageMagick 命令会出错

【问题讨论】:

  • 由于exec 对您的shell 的$PATH 一无所知,您可能希望使用来自which compare 的完整路径。

标签: java macos command-line terminal imagemagick


【解决方案1】:

谢谢@垃圾神

它在指定 ImageBrick API 的完整路径时工作

    Runtime.getRuntime().exec("/opt/ImageMagick/bin/compare /Users/labuser/Downloads/test.jpg /Users/labuser/Downloads/test1.jpg /Users/labuser/Downloads/diff.jpg");

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-08
    • 2022-01-26
    • 2019-11-21
    • 1970-01-01
    • 2014-06-24
    • 2022-01-11
    相关资源
    最近更新 更多