【发布时间】:2018-07-21 21:23:00
【问题描述】:
如何从 imageMagick 版本 7 在 Java 中运行 CompareCmd? 以前运行 compare 的版本会运行 compare,但现在在 版本 7 运行 compare 运行 magick compare,这会引发错误 magick:在 CLI arg 1 @ 上找不到操作“-metric”的图像 错误/操作.c/CLIOption/5227。请指教。
如果我添加 op.addRawArgs("compare");然后运行 comparecmd 我得到 org.im4java.core.CommandException: java.lang.NullPointerException at org.im4java.core.ImageCommand.run(ImageCommand.java:219)
CompareCmd compare = new CompareCmd();
compare.setSearchPath(imageMagickBinPath);
compare.setErrorConsumer(StandardStream.STDERR);
IMOperation op = new IMOperation();
op.addRawArgs("compare");
op.metric("AE");
op.fuzz(10.0);
op.addImage(screenShotPath1);
op.addImage(screenShotPath2);
op.addImage(imageCompareResultFile.getAbsolutePath());
//Execute the Operation
try {
compare.run(op);
isSame=true;
}
catch (Exception e)
{
isSame=false;
}
【问题讨论】:
-
也许 JMagick 与 ImageMagick 7 不兼容,或者您没有兼容的 JMagick 更新版本?
-
如果我添加 op.addRawArgs("compare");它会在我的文件夹中创建差异文件,但会引发空指针错误。我该如何解决这个问题?除非我搜索错误的关键字,否则我在谷歌上找不到任何东西。我更新了imagemagick。我会尝试看看我是否安装了 JMagick 或升级它。
标签: java imagemagick