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……我该如何继续编写我想做的事情?

非常感谢!问候。

4

1 回答 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 命令没有第二个 pic 输入参数。

于 2016-06-22T18:54:04.557 回答