Неочевидное поведение при использовании Clip у Graphics
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 пикселей) . После выполнения получается треугольное изображение. Почему так происходит, ведь координаты описывают четырехугольник? Исходное и полученное изображения прикрепляю.
Источник: Stack Overflow на русском