private static RectangleF DetermineBounds(PointF[] points, float width, float height) { var ulx = points.OrderBy(row => row.X).First().X / width; var uly = (height - points.OrderByDescending(row => row.Y).First().Y) / height; var brx = points.OrderByDescending(row => row.X).First().X / width; var bry = (height - points.OrderBy(row => row.Y).First().Y) / height; var w = brx - ulx; var h = bry - uly; return new RectangleF(new PointF(ulx - w * 0.2f, uly - h * 0.2f), new SizeF(w * 1.4f, h * 1.4f)); }