使用 imagemagick .net 从两侧均匀裁剪图像

Evenly cropping of an image from both side using imagemagick .net

我正在使用 .net 的图像魔术来裁剪和调整图像大小。但是这个库的问题是它只裁剪图像的底部。有什么办法可以上下左右均匀裁剪吗?

已编辑问题:

  MagickGeometry size = new MagickGeometry(width, height);
  size.IgnoreAspectRatio = maintainAspectRatio;
  imgStream.Crop(size);

如果 size 变量是 MagickGeometry 的一个实例,那么应该有一个 X & Y 偏移量 属性。我不熟悉 ,但我想它会像...

MagickGeometry size = new MagickGeometry(width, height);
size.IgnoreAspectRatio = maintainAspectRatio;
// Adjust geometry offset to center of image (same as `-gravity Center`)
size.Y = imgStream.Height / 2 - height / 2;
size.X = imgStream.Width / 2 - width / 2;
imgStream.Crop(size);

Crop 将始终使用 Magick 中指定的宽度和高度。NET/ImageMagick 因此无需设置 size.IgnoreAspectRatio。如果你想剪掉图像中心的特定区域,你应该使用另一个重载 Crop ,它也有一个 Gravity 作为参数:

imgStream.Crop(width, height, Gravity.Center);