为什么这个im4java在java中出现异常

为什么这个im4java在java中出现异常,java,im4java,Java,Im4java,我想为我的客户提供在用Java开发的应用程序中调整图像大小和水印的能力。搜索完Internet后,我通过简单地添加应用程序,为我的应用程序提供了im4java库。我看了不同的文章,得到了以下代码: try { IMOperation op = new IMOperation(); op.addImage("d:\\abc.jpg"); op.addImage("d:\\def.jpg"); new ConvertCmd().run(op); } catch (

我想为我的客户提供在用Java开发的应用程序中调整图像大小和水印的能力。搜索完Internet后,我通过简单地添加应用程序,为我的应用程序提供了
im4java
库。我看了不同的文章,得到了以下代码:

try 
{
    IMOperation op = new IMOperation();
    op.addImage("d:\\abc.jpg");
    op.addImage("d:\\def.jpg");
    new ConvertCmd().run(op);
} 
catch (IOException | InterruptedException | IM4JavaException e) 
{
    System.out.println(e.toString());
}
这是一个例外

org.im4java.core.CommandException: org.im4java.core.CommandException: Invalid Parameter - d:\def.jpg
为什么会这样

1) 除了将im4java库添加到我的应用程序之外,我还需要在我的PC上安装任何外部库吗

2) 如果我必须在我的电脑上安装其他类型的库,那么我的客户是否也必须在他们的机器上安装它,或者他们是否有任何解决方案

在这个问题中,答案是我需要一个接口,这意味着什么?如果我在我的机器上安装了这个接口,我的客户会怎么做?这难道不能像H2数据库一样嵌入,这样我的客户端就不必安装我的软件以外的任何东西吗?

只是一个包装器,一个老式的工具链,可以从命令行启动,然后处理图像。如果不安装ImageMagick,一切都将无法正常工作

您遇到的
org.im4java.core.CommandException
可能是由同名的convert.exe引起的,它是Windows上的一个内置磁盘实用程序,可以将FAT卷转换为NTFS卷

解决问题的可行方法是使用便携式版本的ImageMagick。对于Windows,只需下载zip文件(,版本可能有所不同)并将其解压缩即可。对于其他平台,最好从源代码构建一个可移植的版本

一旦您使ImageMagick实用程序可移植,您可以将它们相对于您的程序放置,然后在代码的开头添加一行来指定搜索路径。然后,您可以将它们(portable ImageMagick、im4java、您的程序…)一起发送到您的客户机。

只是一个老式工具链的包装,可以从命令行启动,然后处理图像。如果不安装ImageMagick,一切都将无法正常工作

您遇到的
org.im4java.core.CommandException
可能是由同名的convert.exe引起的,它是Windows上的一个内置磁盘实用程序,可以将FAT卷转换为NTFS卷

解决问题的可行方法是使用便携式版本的ImageMagick。对于Windows,只需下载zip文件(,版本可能有所不同)并将其解压缩即可。对于其他平台,最好从源代码构建一个可移植的版本


一旦您使ImageMagick实用程序可移植,您可以将它们相对于您的程序放置,然后在代码的开头添加一行来指定搜索路径。然后,您可以将它们(portable ImageMagick、im4java、您的程序…)一起发送到您的客户端。

im4java是ImageMagick命令行的纯java接口。
,因此您需要安装ImageMagick。所以我想它会执行程序。@petermm那么我该为我的客户做什么呢?我的客户会像我一样单独安装ImageMagick命令行吗?或者有什么解决方法吗?你可以用纯Java操作图像。@petermm你能给我一些关于这类文章的参考吗?简单搜索;java图像水印:
im4java是ImageMagick命令行的纯java接口。
,因此需要安装ImageMagick。所以我想它会执行程序。@petermm那么我该为我的客户做什么呢?我的客户会像我一样单独安装ImageMagick命令行吗?或者有什么解决方法吗?你可以用纯Java操作图像。@petermm你能给我一些关于这类文章的参考吗?简单搜索;java图像水印:哇,太棒了。谢谢亲爱的回答!但是不要忘记将Ghostscript添加到依赖项列表中。哇,太棒了。谢谢亲爱的回答!但是不要忘记将Ghostscript添加到依赖项列表中。