项目

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); } });
C#

受限旋转

自由旋转

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

示例:

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

自由旋转

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

.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);
C#

rotate-free-origin