使用jmagick写结果图像

时间:2013-09-04 02:44:47

标签: java jmagick

我想裁剪部分图像,然后将结果写入另一个图像文件。我的代码看起来像这样

ImageInfo imageInfo = new ImageInfo("file path");
MagickImage image = new MagickImage(imageInfo );

Rectangle cropInfo = new Rectangle();
cropInfo.x = 20;
cropInfo.y = 20;
cropInfo.width = 300;
cropInfo.height = 300;

MagickImage result = image.cropImage(cropInfo);

result.setFileName("path to result file");
boolean s = result.writeImage(imageInfo);

上面的代码只是工作,但为什么writeImage使用旧的ImageInfo?并且MagickImage.setFileName对我没有意义。我想我们应该创建一个新的ImageInfo对象,然后写入该ImageInfo。以下代码更有意义,但不能按预期工作。

MagickImage result = image.cropImage(cropInfo);
ImageInfo resulInfo = new ImageInfo("path to new file");
boolean s = result.writeImage(imageInfo);

有没有人体验过这个?

1 个答案:

答案 0 :(得分:1)

我保留原始的ImageInfo是不方便的,所以我尝试了这个并且它也有效:

result.setFileName("path to result file");
boolean s = result.writeImage(new ImageInfo());

至于为什么需要这个参数,这个谜团仍然存在。 Null无效。