如何将Point数组转换为Rectangle

时间:2018-05-24 23:43:59

标签: c#

我有一个Array Point,我希望将其设为Rectangle
有4分。我将这些点绘制为Polygon,输出为Rectangle 如何将这四个点绘制为Rectangle
意思是,我想得到这些点的宽度和高度。

这是我的四点:

 p1 :48.5, 196.5
 p2 :997.5, 196.5
 p2 :997.5, 692.5
 p2 :48.5, 692.5

所以我想要这样的事情:

RectangleF rec = new RectangleF(x, y, width, hight);

我的xyp1.xp1.y
如何从这些点获得宽度和高度?

RectangleF rec = new RectangleF(p1.x, p1.y, width, hight);

2 个答案:

答案 0 :(得分:2)

假设:

Point p1 = new Point(48.5, 196.5);
Point p2 = new Point(997.5, 196.5);
Point p3 = new Point(997.5, 692.5);
Point p4 = new Point(48.5, 692.5);

您可以按如下方式创建矩形:

RectangleF rec = new RectangleF(p1.X, p1.Y, p2.X - p1.X, p3.Y - p1.Y);

答案 1 :(得分:0)

使用GraphicsPath()的替代解决方案

using (GraphicsPath path = new GraphicsPath())
{
    PointF[] points = new PointF[] {
    new PointF(48.5f, 196.5f),
    new PointF(997.5f, 196.5f),
    new PointF(997.5f, 692.5f),
    new PointF(48.5f, 692.5f),
    };

    path.StartFigure();
    path.AddPolygon(points);
    path.CloseFigure();
    e.Graphics.DrawPath(new Pen(Color.Black, 2), path);
};