问题描述
我想在 windows 窗体中的矩形内创建一个多边形:
这适用于矩形:(位置和尺寸是预先定义的点)
System.Drawing.Rectangle rect = new System.Drawing.Rectangle(Position,Dimension);
Pen pen = new Pen(Color);
pen.Width = 5;
pGraphics.DrawRectangle(pen,rect);
pGraphics.FillRectangle(new SolidBrush(ColorFilling),rect);
我想做同样的事情,但绘制多边形而不是使用矩形的预定义位置和尺寸,因此多边形应该在“不可见”矩形内。
问题
我如何计算他的所有分数?
编辑:我想在矩形内画一个梯形
解决方法
嗨
您可以使用矩形的位置来定义矩形中的多边形。这是指向 Microsoft C# Graphics.DrawPolygon 的内嵌链接
有关绘制多边形的更多信息。
对于您的问题,可能有无限可能,因此如果您没有想要制作的特定多边形,则很难告诉您解决方案。
private void Draw(PaintEventArgs e)
{
//Position of the rectangle
var recPosition = (100,100);
// Draw of the rectangle
Pen blackPen = new Pen(Color.Black,3);
SolidBrush blueBrush = new SolidBrush(Color.Blue);
RectangleF rect = new RectangleF(0.0F,0.0F,200.0F,200.0F);
e.Graphics.FillRectangle(blueBrush,rect);
// Create points that define polygon.
PointF point1 = new PointF(0,RecPosition.Item2);
PointF point2 = new PointF(RecPosition.Item1/2,RecPosition.Item2*2);
PointF point3 = new PointF(RecPosition.Item1*2,RecPosition.Item2/2);
PointF point4 = new PointF(RecPosition.Item2,0);
PointF[] curvePoints =
{
point1,point2,point3,point4,};
// Draw polygon curve to screen.
e.Graphics.DrawPolygon(blackPen,curvePoints);
}
// Draw polygon curve to screen.
e.Graphics.DrawPolygon(blackPen,curvePoints);
}