项目

QuestPDF 旋转

受限旋转

  • 此容器会以 90 度的增量改变内容的旋转。
  • 内容始终在相同的尺寸和空间约束内布局。

有以下两种方法可用:.RotateLeft().RotateRight()

示例:

.Padding(20)
.Grid(grid =>
{
    grid.Columns(2);
    grid.Spacing(10);

    foreach (var turns in Enumerable.Range(0, 4))
    {
        grid.Item()
            .Width(200)
            .Height(200)
            .Background(Colors.Grey.Lighten2)
            .Padding(10)
            .Element(element =>
            {
                foreach (var x in Enumerable.Range(0, turns))
                    element = element.RotateRight();

                return element;
            })
            .MinimalBox()
            .Background(Colors.White)
            .Padding(10)
            .Text($"旋转了{turns * 90}°")
            .FontSize(20);
    }
});

受限旋转

自由旋转

  • 此容器允许您按指定角度(以度为单位)旋转其子元素,不受限制。
  • 内容始终在相同的尺寸和空间约束内布局。
  • 渲染后的子元素看起来会浮动在其他内容下方或上方。

示例:

.Padding(25)
.Background(Colors.Grey.Lighten2)
.AlignCenter()
.AlignMiddle()
.Background(Colors.White)
.Rotate(30)
.Width(100)
.Height(100)
.Background(Colors.Blue.Medium);

自由旋转

您可以应用额外的平移来更改旋转原点:

.Padding(25)
.Background(Colors.Grey.Lighten2)
.AlignCenter()
.AlignMiddle()
.Background(Colors.White)
.TranslateX(50)
.TranslateY(50)
.Rotate(30)
.TranslateX(-50)
.TranslateY(-50)
.Width(100)
.Height(100)
.Background(Colors.Blue.Medium);

rotate-free-origin

在本文档中