Path.cs 1.7 KB

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