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);