OSマシンの下にある2つの画像を比較しようとしています。 私はImageMagickをosマシン上で実行しています。私はこの例外を受け取るcompare.run(cmpOp);
イムを実行すると1.4.0:しかし、私はim4javaを使用していorg.im4java.core.CommandException:magick:操作のための画像が見つかりません
public boolean compareImages (String expectedScreenShot, String capturedScreenShot, String pdiffCompare) {
ProcessStarter.setGlobalSearchPath("/usr/local/bin/");
CompareCmd compare = new CompareCmd();
// For metric-output
IMOperation cmpOp = new IMOperation();
// Set the compare metric
cmpOp.metric("AE");
// Add the expected image
cmpOp.addImage(expectedScreenShot);
// Add the current image
cmpOp.addImage(capturedScreenShot);
// This stores the difference
cmpOp.addImage(pdiffCompare);
try {
// Do the compare
compare.run(cmpOp);
compare.getErrorText();
return true;
}
catch (Exception ex) {
return false;
}
}
:
org.im4java.core.CommandException:org.im4javaをこのメソッドを使用して とイム.core.CommandException: magick:CLIの引数1 @ error/operation.c/CLIOption/5225で、 `-metric '操作で画像が見つかりませんでした。
任意の助けいただければ幸いです。掘りとデバッグ後IMJavaバージョン1.4とImageMagickの7
と
'expectedScreenShot'と' capturedScreenShot'の値は何ですか? OSマシンとは何ですか? –
@マークSetchell expectedScreenShotとcapturedScreenShotは私がそれらの間で比較したい画像の絶対パスであり、はい、それはOSマシンexpectedScreenShot = /Users/username/src/automation/test2/test.png capturedScreenShot = /ユーザ/ユーザ名です/src/automation/test3/test.png – Youssef
'AE'が必要な場合は、' compare.setErrorConsumer(StandardStream.STDERR);で 'stderr'のコンシューマを設定する必要があります。私がcompare.setErrorConsumer(StandardStream.STDERR)を使用したとき@マークSetchell; –