如何通过 Java (JMagick) 在 ImageMagick 中使用大量参数?
How use lot of parameters in ImageMagick via Java (JMagick)?
我正在使用 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...我该如何继续编写我想做的事情?
非常感谢!
问候。
在调查并从 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 输入参数。
我正在使用 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...我该如何继续编写我想做的事情?
非常感谢! 问候。
在调查并从 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 输入参数。