FlipExamples.cs 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. using QuestPDF.Fluent;
  2. using QuestPDF.Helpers;
  3. using QuestPDF.Infrastructure;
  4. namespace QuestPDF.DocumentationExamples;
  5. public class FlipExamples
  6. {
  7. [Test]
  8. public void Example()
  9. {
  10. Document
  11. .Create(document =>
  12. {
  13. document.Page(page =>
  14. {
  15. page.MinSize(new PageSize(0, 0));
  16. page.MaxSize(new PageSize(1000, 1000));
  17. page.DefaultTextStyle(x => x.FontSize(20));
  18. page.Content()
  19. .Width(350)
  20. .Height(350)
  21. .Padding(20)
  22. .Grid(grid =>
  23. {
  24. grid.Columns(2);
  25. grid.Spacing(10);
  26. foreach (var turns in Enumerable.Range(0, 4))
  27. {
  28. grid.Item()
  29. .Width(150)
  30. .Height(150)
  31. .Background(Colors.Grey.Lighten2)
  32. .Padding(10)
  33. .Element(element =>
  34. {
  35. if (turns == 1 || turns == 2)
  36. element = element.FlipHorizontal();
  37. if (turns == 2 || turns == 3)
  38. element = element.FlipVertical();
  39. return element;
  40. })
  41. .Shrink()
  42. .Background(Colors.White)
  43. .Padding(10)
  44. .Text($"Flipped {turns}").FontSize(16);
  45. }
  46. });
  47. });
  48. })
  49. .GenerateImages(x => "flip.webp", new ImageGenerationSettings() { ImageFormat = ImageFormat.Webp, ImageCompressionQuality = ImageCompressionQuality.VeryHigh, RasterDpi = 144 });
  50. }
  51. }