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

誰もこれを経験していますか?

4

1 に答える 1