我有一个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);
我的x
和y
是p1.x
,p1.y
如何从这些点获得宽度和高度?
RectangleF rec = new RectangleF(p1.x, p1.y, width, hight);
答案 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);
};