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

上面的代码可以正常工作,但为什么 writeImage 使用旧的 ImageInfo 呢?和 MagickImage.setFileName 对我来说没有意义。我认为我们应该创建一个新的 ImageInfo 对象,然后写入该 ImageInfo。以下代码更有意义,但不能按预期工作。

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

有没有人有这方面的经验?

4

1 回答 1

1

保留原始 ImageInfo 对我来说很不方便,所以我尝试了这个,它也有效:

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

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

于 2016-04-06T13:32:17.580 回答