LoremPicsumExample.cs 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. using System.Net;
  2. using QuestPDF.Examples.Engine;
  3. using QuestPDF.Fluent;
  4. using QuestPDF.Infrastructure;
  5. namespace QuestPDF.Examples
  6. {
  7. public class LoremPicsum : IComponent
  8. {
  9. public bool Greyscale { get; }
  10. public LoremPicsum(bool greyscale)
  11. {
  12. Greyscale = greyscale;
  13. }
  14. public void Compose(IContainer container)
  15. {
  16. var url = "https://picsum.photos/300/200";
  17. if(Greyscale)
  18. url += "?grayscale";
  19. using var client = new WebClient();
  20. var response = client.DownloadData(url);
  21. container.Image(response);
  22. }
  23. }
  24. public class LoremPicsumExample : ExampleTestBase
  25. {
  26. [ShowResult]
  27. [ImageSize(350, 280)]
  28. public void LoremPicsum(IContainer container)
  29. {
  30. container
  31. .Background("#FFF")
  32. .Padding(25)
  33. .Stack(column =>
  34. {
  35. column.Spacing(10);
  36. column
  37. .Element()
  38. .Component(new LoremPicsum(true));
  39. column
  40. .Element()
  41. .AlignRight()
  42. .Text("From Lorem Picsum");
  43. });
  44. }
  45. }
  46. }