Неочевидное поведение при использовании Clip у Graphics

Рейтинг: 0Ответов: 0Опубликовано: 25.01.2023
static void Main()
{
    var gp = new GraphicsPath();
    var points = new[]
    {
        new Point(3164, 285),
        new Point(185, 196),
        new Point(112, 2712),
        new Point(3091, 2801)
    };
    gp.AddPolygon(points);
    var img = new Bitmap("путь до картинки");
    var bmp = new Bitmap(img.Width, img.Height);
    using (var g = Graphics.FromImage(bmp))
    {
        g.Clip = new Region(gp);
        g.DrawImage(img, 0, 0);
    }
    bmp.Save(@"путь для сохранения картинки");
}

Этот код используется для изображения (ширина - 2816 пикселей, высота - 3328 пикселей) . После выполнения получается треугольное изображение. Почему так происходит, ведь координаты описывают четырехугольник? Исходное и полученное изображения прикрепляю.

введите сюда описание изображения

введите сюда описание изображения

Ответы

Ответов пока нет.