使用jmagick编写结果图像

3

我想要裁剪图片的一部分,然后将结果写入另一个图片文件。我的代码如下:

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);

上面的代码可以正常工作,但是为什么要使用旧的ImageInfo编写writeImage呢?而MagickImage.setFileName对我来说也没有意义。我认为我们应该创建一个新的ImageInfo对象,然后将其写入该ImageInfo中。下面的代码更有意义,但并不像预期那样工作。

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

有人对此有经验吗?
1个回答

1

我觉得保留原始的ImageInfo不太方便,所以我尝试了这种方法,它也起作用:

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

关于为什么需要这个参数,仍然是一个谜。Null将不起作用。

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