我需要在我的java项目中使用ImageMagic。我已经在Windows 10上安装了ImageMagic-7.0.3 (命令行很好)
然后,我在maven文件中向im4java添加了依赖项。当我试图做一些行动时,比如:
public static void main(String[] args) {
String imPath="C:\\Program Files\\ImageMagick-7.0.3-Q16";
ConvertCmd cmd = new ConvertCmd();
cmd.setSearchPath(imPath);
IMOperation op = new IMOperation();
op.addImage("biuro.jpg");
op.negate();
op.addImage("biuro_new.jpg");
try {
cmd.run(op);
} catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
} catch (IM4JavaException e) {
e.printStackTrace();
}
System.out.println("works");
}我得到跟随错误
org.im4java.core.CommandException: java.io.FileNotFoundException: convert
at org.im4java.core.ImageCommand.run(ImageCommand.java:219)
at Main.main(Main.java:30)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147)
Caused by: java.io.FileNotFoundException: convert
at org.im4java.process.ProcessStarter.searchForCmd(ProcessStarter.java:661)
at org.im4java.process.ProcessStarter.startProcess(ProcessStarter.java:399)
at org.im4java.process.ProcessStarter.run(ProcessStarter.java:312)
at org.im4java.core.ImageCommand.run(ImageCommand.java:215)
... 6 more发布于 2016-12-08 21:44:27
我用了一半的互联网。阅读谷歌的一半。只有一个小建议说:“您安装了Visual C++可再发行并重新启动了吗?”这就是解决办法。
ImageMagick在命令行中工作,所以我没有预料到这种类型的需求。而且,我在im4java和ImageMagick引用中都没有找到任何关于它的东西。
希望这将是有益的,没有人会浪费大约5小时的生命寻找答案。
发布于 2017-01-09 14:17:16
将用户变量设置为环境变量,变量名为IM4JAVA_TOOLPATH,变量值设置为C:\Program Files\ImageMagick-7.0.3-Q16。之后,关闭所有java进程并尝试运行该程序。
其他方法可以设置全局搜索路径,如下所示:
String myPath="C:\\Programs\\ImageMagick;";
ProcessStarter.setGlobalSearchPath(myPath);这将覆盖您的用户环境变量。
更详细的安装相关信息,请参阅文档http://im4java.sourceforge.net/docs/dev-guide.html。
发布于 2018-01-12 21:41:07
在花了大量时间研究为什么会出现这个问题之后,解决方案是:在安装过程中,您需要卸载ImageMagick,然后使用"Install旧式实用程序(例如,转换)“重新安装。
https://stackoverflow.com/questions/41043455
复制相似问题