Path.cs 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Text;
  4. namespace HiTeachCC.Model.PowerPoint
  5. {
  6. public abstract class Path
  7. {
  8. double w { get; set; }
  9. double h { get; set; }
  10. public string Type { get; set; }
  11. }
  12. public class ClosePath :Path
  13. {
  14. public bool Close { get; set; } = false;
  15. }
  16. /// <summary>
  17. /// 起点 <a:moveTo>
  18. /// </summary>
  19. public class MoveToPath : Path
  20. {
  21. public MoveToPath()
  22. {
  23. Pts = new List<Point> { };
  24. }
  25. public List<Point> Pts { get; set; }
  26. }
  27. /// <summary>
  28. /// 弧形 <a:arcTo>
  29. /// </summary>
  30. public class ArcToPath : Path
  31. {
  32. public string WidthRadius { get; set; }
  33. public string HeightRadius { get; set; }
  34. public string StartAngle { get; set; }
  35. public string SwingAngle { get; set; }
  36. }
  37. /// <summary>
  38. /// 画线 <a:lnTo>
  39. /// </summary>
  40. public class LineToPath : Path
  41. {
  42. public LineToPath()
  43. {
  44. Pts = new List<Point> { };
  45. }
  46. public List<Point> Pts { get; set; }
  47. }
  48. /// <summary>
  49. /// 三次贝塞尔曲线<a:cubicBezTo>
  50. /// </summary>
  51. public class CubicBezPath : Path
  52. {
  53. public CubicBezPath()
  54. {
  55. Pts = new List<Point> { };
  56. }
  57. public List<Point> Pts { get; set; }
  58. }/// <summary>
  59. /// 二次贝塞尔曲线 <a:quadBezTo>
  60. /// </summary>
  61. public class QuadBezPath : Path
  62. {
  63. public QuadBezPath()
  64. {
  65. Pts = new List<Point> { };
  66. }
  67. public List<Point> Pts { get; set; }
  68. }
  69. public class Point
  70. {
  71. public double X { get; set; }
  72. public double Y { get; set; }
  73. }
  74. }