我想裁剪图像的一部分,然后将结果写入另一个图像文件。我的代码如下所示
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);有没有人有这样的经验?
发布于 2016-04-06 21:32:18
保留原来的ImageInfo对我来说很不方便,所以我尝试了一下,它也很有效:
result.setFileName("path to result file");
boolean s = result.writeImage(new ImageInfo());至于为什么需要这个参数,这个谜团仍然存在。Null将不起作用。
https://stackoverflow.com/questions/18604606
复制相似问题