Рисование прямоугольника с определенным углом

Я использую 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 (a_BrickList[i].Rotation != 0 && a_BrickList[i].Rotation != 180 &&
     a_BrickList[i].Rotation != 90 && a_BrickList[i].Rotation != 270)

В этом я хочу нарисовать прямоугольник под определенным углом. Но я не могу ничего найти о rectangle с rotate или же angle,

Так есть ли способ нарисовать прямоугольник с определенным углом?

Или я могу решить эту проблему, только вычислив 4 точки моего прямоугольника и проведя линии между ними?

1 ответ

Решение

Это зависит от среды рисования, которую вы используете.

Например, если вы используете холст HTML5, вы можете повернуть холст, нарисовать прямоугольник, а затем вернуть холст в исходное положение, получив "повернутый" прямоугольник.

Вам следует проверить документацию по вашей среде для получения дополнительной информации или предоставить дополнительную информацию в вопросе, чтобы мы могли вам помочь.

Другие вопросы по тегам