我正在使用SixLabors.ImageSharp在 C# .NET Core 3.1 中以编程方式裁剪图像。您可以在下面找到一个有效的代码片段。
public static void ResizeImage(Image<Rgba32> input, Size dimensions)
{
var options = new ResizeOptions
{
Size = dimensions,
Mode = ResizeMode.Crop
};
input.Mutate(x => x.Resize(options));
}
它工作得很好,但我想允许用户根据一对给定的坐标裁剪图像。这意味着,裁剪将从这些坐标开始,而不是从原点 (0, 0) 开始。用这个工具可以做到吗?
到目前为止,我只能从图像角落开始裁剪。我希望能够从任何位置开始裁剪。例如,对于以下图像:
用户想要通过在 x 和 y 轴上移动裁剪来裁剪图片的中心部分。最终结果将是:
请注意,在给定的示例中,我已经剪掉了图像的角落。使用Imagesharp可以做到这一点吗?