0

当我在 Eclipse 中使用 ImageMagick+im4java 时,总是出现这个错误:

Exception in thread "main" org.im4java.core.CommandException: java.io.FileNotFoundException: convert
    at org.im4java.core.ImageCommand.run(ImageCommand.java:219)
    at imagetools.ImageTools.resizeImage(ImageTools.java:71)
    at imagetools.ImageTools.main(ImageTools.java:92)
Caused by: java.io.FileNotFoundException: convert
    at org.im4java.process.ProcessStarter.searchForCmd(ProcessStarter.java:661)
    at org.im4java.process.ProcessStarter.startProcess(ProcessStarter.java:403)
    at org.im4java.process.ProcessStarter.run(ProcessStarter.java:312)
    at org.im4java.core.ImageCommand.run(ImageCommand.java:215)

而且我确信 ImageMagick 本身在我的计算机上运行良好(Mac OSX 10.10.1)。这是我的代码:

package imagetools;


import org.im4java.process.ProcessStarter;

import org.im4java.core.ConvertCmd;
import org.im4java.core.IMOperation;


public class ImageTools {       
public static void resizeImage(int width, int height, String srcPath, String newPath) throws Exception {
        IMOperation op = new IMOperation();
        op.addImage(srcPath);       
        op.resize(width, height);
        op.addImage(newPath);        
        ConvertCmd convert = new ConvertCmd();               
        convert.run(op);
    }   
public static void main(String[] args) throws Exception{
        String src =  "/Users/lvxinyun/Downloads/im4java-1.4.0/images.src/rose1.jpg"; 
        String n = "/Users/lvxinyun/Downloads/im4java-1.4.0/images.src/rose1_n.jpg";
        ProcessStarter.setGlobalSearchPath("/Users/lvxinyun/Downloads/ImageMagick-6.9.0-5");
        resizeImage(600,800,src,n);
    }
}
4

3 回答 3

2
cd C:\Program Files\ImageMagick-7.0.5-Q16
copy magick.exe convert.exe
于 2017-05-17T02:57:22.070 回答
-1

您必须安装ImageMagick-6.9.1-10-Q16-x64-dll.exe并设置 IM4JAVA_TOOLPATH = "C:\Program Files\ImageMagick-6.9.1-Q16(您的安装路径)

您可以在这里查看更多详细信息:http: //im4java.sourceforge.net/docs/dev-guide.html

于 2015-08-10T06:43:10.603 回答
-1

设置类路径很重要。下载最新版本的 ImageMagick 和 exiftool。安装 ImageMagick。使用安装目录创建一个 String var。

String myPath = "C:\\Program Files\\ImageMagick-7.0.8-Q16;C:\\Program Files\\exiftool-11.53";

将其设置为操作系统命令,如下所述:

ProcessStarter.setGlobalSearchPath(myPath);

参考

于 2019-06-26T04:16:31.260 回答