绘制具有一定角度的矩形

时间:2015-12-14 10:55:46

标签: c# winforms draw rectangles drawrectangle

我使用Windows visual studio 2015 winforms在面板上绘制矩形。 我从对象列表(砖块)中获取信息。我只检查每块砖的旋转:

我的砖块包含以下信息:

    string ID;
    PointF MiddlePoint;
    float Length;
    float Height;
    float Rotation;

创建具有90/270度角的矩形。

if (a_BrickList[i].Rotation == 90 || a_BrickList[i].Rotation == 270)
{
      UpperLeftPoint.X = Xorigin + (a_BrickList[i].MiddlePoint.X - (a_BrickList[i].Length / 2) + panelOffset) * scale;
      UpperLeftPoint.Y = Yorigin - (a_BrickList[i].MiddlePoint.Y + (a_BrickList[i].Height / 2) + panelOffset) * scale;
      rect = new RectangleF(UpperLeftPoint.X, UpperLeftPoint.Y, Length, Height);
      GlueRectangles[i] = rect;
}

我已经添加了另一个if语句:

 if (a_BrickList[i].Rotation != 0 && a_BrickList[i].Rotation != 180 &&
     a_BrickList[i].Rotation != 90 && a_BrickList[i].Rotation != 270)

在这个中我想在某个角度上绘制一个矩形。但我无法通过rectanglerotate找到关于angle的任何信息。

那么有没有办法绘制一个具有一定角度的矩形?

或者我可以通过计算矩形的4个点并在它们之间画线来解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

这取决于您正在使用的绘图环境。

例如,如果使用HTML5画布,则可以旋转画布,绘制矩形,然后将画布返回到原始位置,获得“旋转”矩形。

您应该查看您的环境文档以获取更多信息,或者在问题中提供更多信息,以便我们为您提供帮助。