我正在使用。net的图像魔术来裁剪和调整图像的大小。但是这个库的问题是它只能裁剪图像的底部。有没有什么方法可以让我们从上下左右均匀地裁剪它呢?
编辑问题:
MagickGeometry size = new MagickGeometry(width, height);
size.IgnoreAspectRatio = maintainAspectRatio;
imgStream.Crop(size);
裁剪将始终使用Magick中指定的宽度和高度。. NET/ImageMagick,所以不需要设置size.IgnoreAspectRatio
。如果你想在图像的中心剪切一个特定的区域,你应该使用另一个重载裁剪,也有一个重力参数:
imgStream.Crop(width, height, Gravity.Center);
如果size
变量是MagickGeometry
的一个实例,那么应该有一个X
&Y
偏移属性。我不熟悉。net,但我想它应该是…
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);