如何通过Java (JMagick)在ImageMagick中使用大量参数?

3

我正在使用Java编写一个应用程序,我需要调整一些图像的大小,所以我一直在学习ImageMagick。我需要使用的命令是:

convert -resize 500x500\> -quality 85% -strip -interlace Plane -define jpeg:dot-method=float source.jpg destination.jpg

使用Java,我认为我可以使用:
Runtime.getRuntime().exec(command);

是不是这样呢?

但是,如果我想使用像JMagick这样的API……我应该如何进行我想要做的事情呢?

非常感谢!祝好。


我不了解jmagic,但是有一个用于imagemagic命令行的接口,即im4j。请点击链接查看示例:http://im4java.sourceforge.net/docs/dev-guide.html - Prabhat
@zombie不是与JMagick和im4j相同类型的接口吗?顺便说一下... im4j网站上显示最后更新是在2012年:O - Ommadawn
1个回答

2

经过调查并阅读了大量IM4J API的内容之后,我做了以下操作:

IMOperation op = new IMOperation();

op.resize(500, 500, '>');
op.quality(85.0); // jpeg quality (%)
op.strip(); // remove EXIF comments
op.interlace("Plane"); // progressive-mode
op.define("jpeg:dot-method=float"); // float processing (more quality, but slower)
op.addImage("my_original_pic.jpg");
op.addImage("my_resized_pic.jpg");

ConvertCmd convert = new ConvertCmd();
convert.run(op);

就这些啦!:)

如果你想使用mogrify命令,可以重复使用IMOperation对象,只需要执行以下操作:

MogrifyCmd mogrify = new MogrifyCmd();
mogrify.run(op);

但要记住,mogrify命令没有第二个图片输入参数。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接