【发布时间】:2021-05-11 22:22:23
【问题描述】:
我想在 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);
此代码在矩形内用选定的颜色绘制一个矩形。
我想做同样的事情,但是用矩形的预定义位置和尺寸绘制一个多边形,所以多边形应该在“不可见”矩形内。
问题
我如何计算他的所有分数?
编辑:例如,我想在矩形内绘制一个梯形
【问题讨论】:
-
你已经做到了 - 矩形就是多边形。除非您告诉我们更多信息,否则考虑到可以容纳在边界内的边数和顶点数,可能还有无数其他多边形。
-
矩形是一个多边形,所以你已经有了一个不会超出矩形的多边形。您是否想要一个特定的不同多边形,例如具有指定边数和最大尺寸的正多边形(不离开边界框,也就是我们所说的定义这样限制的矩形)?
-
一种相对简单的方法是:创建一个具有您想要的形状、任何位置和大小的多边形。找到它的边界框。计算将多边形的边界框映射到约束矩形的变换矩阵。应用矩阵变换所有多边形点,形成一个新的多边形,经过平移和缩放,适合矩形。
-
是的,确切地说,我想在矩形内画一个梯形
-
如果你想画一个梯形,例如在一个边界矩形内,你仍然必须定义它的顶点。你有什么问题?