gpt4 book ai didi

java - 使用 im4java + gm4java 运行 GraphicsMagick 比较命令

转载 作者:行者123 更新时间:2023-12-01 11:55:57 24 4
gpt4 key购买 nike

我正在尝试使用 im4java 和 gm4java 进行 GraphicsMagick 比较。我使用的 GraphicsMagick 命令是这样的:

gm compare -maximum-error 0 -metric MAE -highlight-style xor -hilight-color red -file C:/output/diffFile.pdf C:/input/file1.pdf C:/input/file2.pdf

我正在尝试将其翻译成 Java。我知道 im4java 最初是为 ImageMagick 构建的,它们的命令可能有所不同。是否可以使用 im4java 加 gm4java 来运行上述比较?

我已经尝试过这个:

SimpleGMService service = new SimpleGMService();
service.setGMPath("C:/path/to/graphicsMagick/gm.exe");

try
{
GMConnection connection = service.getConnection();
try {
GMBatchCommand command = new GMBatchCommand(service, "compare");
// create the operation, add images and operators/options
IMOperation op = new IMOperation();
op.metric("MAE");
op.addRawArgs("-file C:/output/diffFile.pdf");
op.addImage();
op.addImage();

ArrayListOutputConsumer output = new ArrayListOutputConsumer();
command.setOutputConsumer(output);

//debug
command.createScript("C:/output/myscript.bat",op);

command.run(op, "C:/input/file1.pdf", "C:/input/file2.pdf");

....

上面给了我错误:

org.im4java.core.CommandException: compare: Unrecognized option (-file C:/output/diffFile.pdf)

最佳答案

您可以通过单独使用 im4java 或 im4java+gm4java 来实现此目的。 gm4java给你的是当你需要处理大量图像时的性能。

您遇到的问题是由于 addRawArgs() 方法使用不当造成的。命令行中的每个参数都需要作为单独的参数添加,而不是全部添加到一个字符串中。

尝试:

op.addRawArgs("-file", "C:/output/diffFile.pdf");

关于java - 使用 im4java + gm4java 运行 GraphicsMagick 比较命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28444248/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com