我想裁剪图像的一部分,然后将结果写入另一个图像文件。我的代码是这样的
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来编写页面呢?而magickimage.setfilename对我来说没有意义。我认为我们应该创建一个新的imageinfo对象,然后写入该imageinfo。下面的代码更有意义,但不能按预期工作。
MagickImage result = image.cropImage(cropInfo);
ImageInfo resulInfo = new ImageInfo("path to new file");
boolean s = result.writeImage(imageInfo);
有人体验过吗?
最佳答案
保留原始图像信息对我来说很不方便,所以我尝试了这个方法,它也起了作用:
result.setFileName("path to result file");
boolean s = result.writeImage(new ImageInfo());
至于为什么需要这个参数,仍然是个谜。空将不起作用。