Я использую 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?