绘制具有一定角度的矩形

Drawing a rectangle with a certain angle of degree

我正在使用 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)

在这个中,我想在某个角度上绘制一个矩形。但是我真的找不到关于 rectanglerotateangle 的任何信息。

那么有没有办法画出一定角度的矩形呢?

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

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

例如,如果您使用 HTML5 canvas,您可以旋转 canvas,绘制矩形,然后 return canvas 到原位置,得到"rotated"矩形。

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