vislite 1.12.0-alpha.0 → 1.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (183) hide show
  1. package/AUTHORS.txt +6 -6
  2. package/CHANGELOG +402 -394
  3. package/LICENSE +20 -20
  4. package/README-en.md +245 -245
  5. package/README.md +245 -245
  6. package/bin/formatArgv.js +30 -30
  7. package/bin/help.js +17 -17
  8. package/bin/run +21 -21
  9. package/bin/skills.js +26 -26
  10. package/lib/BarLayout/index.es.js +348 -348
  11. package/lib/Buffer/index.es.js +34 -34
  12. package/lib/Canvas/index.es.js +804 -800
  13. package/lib/Canvas/index.es.min.js +1 -1
  14. package/lib/Cardinal/index.es.js +89 -89
  15. package/lib/Eoap/index.es.js +32 -32
  16. package/lib/Hermite/index.es.js +34 -34
  17. package/lib/MapCoordinate/index.es.js +199 -199
  18. package/lib/Matrix4/index.es.js +123 -123
  19. package/lib/Mercator/index.es.js +18 -18
  20. package/lib/PieLayout/index.es.js +115 -115
  21. package/lib/RawCanvas/index.es.js +736 -732
  22. package/lib/RawCanvas/index.es.min.js +1 -1
  23. package/lib/SVG/index.es.js +626 -631
  24. package/lib/SVG/index.es.min.js +1 -1
  25. package/lib/Shader/index.es.js +34 -34
  26. package/lib/Texture/index.es.js +52 -52
  27. package/lib/TreeLayout/index.es.js +301 -315
  28. package/lib/animation/index.es.js +2 -2
  29. package/lib/assemble/index.es.js +19 -16
  30. package/lib/assemble/index.es.min.js +1 -1
  31. package/lib/getLoopColors/index.es.js +34 -34
  32. package/lib/getWebGLContext/index.es.js +61 -61
  33. package/lib/index.umd.js +2797 -2784
  34. package/lib/index.umd.min.js +2 -2
  35. package/lib/initOption/index.es.js +5 -5
  36. package/lib/mergeOption/index.es.js +34 -34
  37. package/lib/move/index.es.js +6 -6
  38. package/lib/rotate/index.es.js +6 -6
  39. package/lib/ruler/index.es.js +136 -136
  40. package/lib/scale/index.es.js +5 -5
  41. package/minialipay/ui-canvas/drawImage.js +35 -35
  42. package/minialipay/ui-canvas/index.acss +4 -4
  43. package/minialipay/ui-canvas/index.axml +3 -3
  44. package/minialipay/ui-canvas/index.d.ts +1 -1
  45. package/minialipay/ui-canvas/index.js +100 -100
  46. package/minialipay/ui-canvas/index.json +6 -6
  47. package/miniprogram/ui-canvas/drawImage.js +35 -35
  48. package/miniprogram/ui-canvas/index.js +125 -125
  49. package/miniprogram/ui-canvas/index.json +4 -4
  50. package/miniprogram/ui-canvas/index.wxml +4 -4
  51. package/miniprogram/ui-canvas/index.wxss +5 -5
  52. package/package/BarLayout/index.ts +2 -2
  53. package/package/Buffer/index.ts +2 -2
  54. package/package/Canvas/index.ts +2 -2
  55. package/package/Cardinal/index.ts +2 -2
  56. package/package/Eoap/index.ts +2 -2
  57. package/package/Hermite/index.ts +2 -2
  58. package/package/MapCoordinate/index.ts +2 -2
  59. package/package/Matrix4/index.ts +2 -2
  60. package/package/Mercator/index.ts +2 -2
  61. package/package/PieLayout/index.ts +2 -2
  62. package/package/RawCanvas/index.ts +2 -2
  63. package/package/SVG/index.ts +2 -2
  64. package/package/Shader/index.ts +2 -2
  65. package/package/Texture/index.ts +2 -2
  66. package/package/TreeLayout/index.ts +2 -2
  67. package/package/animation/index.ts +5 -5
  68. package/package/assemble/index.ts +2 -2
  69. package/package/getLoopColors/index.ts +2 -2
  70. package/package/getWebGLContext/index.ts +40 -40
  71. package/package/index.ts +84 -84
  72. package/package/initOption/index.ts +2 -2
  73. package/package/mergeOption/index.ts +2 -2
  74. package/package/move/index.ts +2 -2
  75. package/package/rotate/index.ts +2 -2
  76. package/package/ruler/index.ts +2 -2
  77. package/package/scale/index.ts +2 -2
  78. package/package/throttle/index.ts +2 -2
  79. package/package.json +79 -79
  80. package/skills/vislite-lib/BarLayout.md +117 -117
  81. package/skills/vislite-lib/Canvas.md +183 -183
  82. package/skills/vislite-lib/Interpolation.md +129 -129
  83. package/skills/vislite-lib/Matrix.md +174 -174
  84. package/skills/vislite-lib/PieLayout.md +131 -131
  85. package/skills/vislite-lib/Projections.md +158 -158
  86. package/skills/vislite-lib/SKILL.md +179 -179
  87. package/skills/vislite-lib/SVG.md +137 -137
  88. package/skills/vislite-lib/TreeLayout.md +176 -176
  89. package/skills/vislite-lib/Utilities.md +261 -261
  90. package/skills/vislite-lib/WebGL.md +106 -106
  91. package/skills/vislite-lib/minialipay/ui-canvas.md +95 -95
  92. package/skills/vislite-lib/miniprogram/ui-canvas.md +98 -98
  93. package/skills/vislite-lib/uniapp/ui-canvas.md +113 -113
  94. package/src/Canvas.ts +89 -89
  95. package/src/Eoap.ts +66 -66
  96. package/src/Matrix4/index.ts +84 -84
  97. package/src/Matrix4/move.ts +12 -12
  98. package/src/Matrix4/rotate.ts +15 -15
  99. package/src/Matrix4/scale.ts +11 -11
  100. package/src/Matrix4/transform.ts +64 -64
  101. package/src/Mercator.ts +27 -27
  102. package/src/SVG.ts +86 -69
  103. package/src/common/assemble.ts +30 -22
  104. package/src/common/canvas/arc.ts +51 -51
  105. package/src/common/canvas/config.ts +176 -176
  106. package/src/common/canvas/default.ts +64 -64
  107. package/src/common/canvas/gradient.ts +31 -31
  108. package/src/common/canvas/index.ts +189 -189
  109. package/src/common/canvas/painter.ts +475 -454
  110. package/src/common/canvas/texts.ts +18 -18
  111. package/src/common/map/getBoundary.ts +15 -15
  112. package/src/common/map/tool.ts +29 -29
  113. package/src/common/option.ts +31 -31
  114. package/src/common/setStyle.ts +5 -5
  115. package/src/common/svg/config.ts +213 -213
  116. package/src/common/svg/default.ts +29 -29
  117. package/src/common/svg/gradient.ts +53 -53
  118. package/src/common/svg/index.ts +420 -420
  119. package/src/common/svg/tool.ts +51 -51
  120. package/src/common/tree/index.ts +25 -25
  121. package/src/common/tree/toInnerTree.ts +61 -61
  122. package/src/common/tree/toPlainTree.ts +135 -135
  123. package/src/common/type.ts +26 -26
  124. package/src/common/webgl/buffer.ts +79 -79
  125. package/src/common/webgl/getWebGLContext.ts +45 -45
  126. package/src/common/webgl/shader.ts +75 -75
  127. package/src/common/webgl/texture.ts +98 -98
  128. package/src/coordinate/MapCoordinate.ts +80 -80
  129. package/src/getLoopColors.ts +42 -42
  130. package/src/interpolation/Cardinal.ts +110 -110
  131. package/src/interpolation/Hermite.ts +65 -65
  132. package/src/layout/BarLayout.ts +249 -249
  133. package/src/layout/PieLayout.ts +146 -146
  134. package/src/layout/TreeLayout.ts +200 -200
  135. package/src/move.ts +7 -7
  136. package/src/rotate.ts +7 -7
  137. package/src/ruler.ts +209 -209
  138. package/src/scale.ts +6 -6
  139. package/types/Bar.d.ts +91 -91
  140. package/types/BarConfig.d.ts +4 -4
  141. package/types/BarLayout.d.ts +48 -48
  142. package/types/BarOption.d.ts +31 -31
  143. package/types/Buffer.d.ts +30 -30
  144. package/types/Canvas.d.ts +379 -379
  145. package/types/CanvasConfig.d.ts +61 -61
  146. package/types/CanvasOption.d.ts +13 -13
  147. package/types/CanvasOpts.d.ts +9 -9
  148. package/types/Cardinal.d.ts +20 -20
  149. package/types/Gradient.d.ts +20 -20
  150. package/types/Hermite.d.ts +25 -25
  151. package/types/Map.d.ts +9 -9
  152. package/types/MapConfig.d.ts +27 -27
  153. package/types/MapCoordinate.d.ts +22 -22
  154. package/types/Matrix4.d.ts +79 -79
  155. package/types/Pie.d.ts +73 -73
  156. package/types/PieConfig.d.ts +26 -26
  157. package/types/PieLayout.d.ts +40 -40
  158. package/types/PieOption.d.ts +21 -21
  159. package/types/SVG.d.ts +282 -282
  160. package/types/SVGConfig.d.ts +54 -54
  161. package/types/Shader.d.ts +22 -22
  162. package/types/Texture.d.ts +22 -22
  163. package/types/Tree.d.ts +74 -74
  164. package/types/TreeConfig.d.ts +52 -52
  165. package/types/TreeLayout.d.ts +71 -71
  166. package/types/TreeOption.d.ts +48 -48
  167. package/types/animation.d.ts +26 -26
  168. package/types/assemble.d.ts +14 -14
  169. package/types/getLoopColors.d.ts +13 -13
  170. package/types/getWebGLContext.d.ts +7 -7
  171. package/types/index.d.ts +220 -221
  172. package/types/module.d.ts +110 -110
  173. package/types/move.d.ts +15 -15
  174. package/types/option.d.ts +12 -12
  175. package/types/painterConfig.d.ts +14 -14
  176. package/types/rotate.d.ts +15 -15
  177. package/types/ruler.d.ts +24 -24
  178. package/types/scale.d.ts +15 -15
  179. package/types/throttle.d.ts +6 -6
  180. package/types/ui-canvas.d.ts +4 -4
  181. package/types/uni-canvas.d.ts +3 -3
  182. package/uni-app/drawImage.js +19 -19
  183. package/uni-app/ui-canvas.vue +295 -295
package/types/SVG.d.ts CHANGED
@@ -1,283 +1,283 @@
1
- /**
2
- * SVG绘图类型定义
3
- * 提供SVG绘图的各种方法和功能
4
- */
5
- import SVGConfigType from './SVGConfig'
6
- import GradientType from "./Gradient"
7
-
8
- export default interface SVGType {
9
-
10
- /**
11
- * 配置画笔
12
- */
13
- config(configs: SVGConfigType): this
14
-
15
- /**
16
- * 重置
17
- */
18
- reset(config?: SVGConfigType): this
19
-
20
- /**
21
- * 标记应用节点
22
- */
23
- useEl(el: SVGElement): this
24
-
25
- /**
26
- * 获取当前应用的节点
27
- */
28
- getEl(): SVGElement
29
-
30
- /**
31
- * 追加节点
32
- */
33
- appendEl(el: string | SVGElement, context?: SVGElement): this
34
-
35
- /**
36
- * 追加绘制板
37
- */
38
- appendBoard(el: string | SVGElement, context?: SVGElement): this
39
-
40
- /**
41
- * 删除当前维护的节点
42
- */
43
- remove(): this
44
-
45
- /**
46
- * 设置或获取节点属性
47
- */
48
- attr(params?: any): any
49
-
50
- /**
51
- * 绘制一个实心文字
52
- * @param text 需要绘制的文字
53
- * @param x 绘制位置的x坐标
54
- * @param y 绘制位置的y坐标
55
- * @param deg 可选,文字旋转角度
56
- */
57
- fillText(text: any, x: number, y: number, deg?: number): this
58
-
59
- /**
60
- * 绘制一个空心文字
61
- * @param text 需要绘制的文字
62
- * @param x 绘制位置的x坐标
63
- * @param y 绘制位置的y坐标
64
- * @param deg 可选,文字旋转角度
65
- */
66
- strokeText(text: any, x: number, y: number, deg?: number): this
67
-
68
- /**
69
- * 绘制一个空实心文字
70
- * @param text 需要绘制的文字
71
- * @param x 绘制位置的x坐标
72
- * @param y 绘制位置的y坐标
73
- * @param deg 可选,文字旋转角度
74
- */
75
- fullText(text: any, x: number, y: number, deg?: number): this
76
-
77
- /**
78
- * 绘制一个实心的圆弧
79
- * @param cx 圆弧的圆心x坐标
80
- * @param cy 圆弧的圆心y坐标
81
- * @param r1 圆弧的内半径
82
- * @param r2 圆弧的外半径
83
- * @param beginDeg 开始弧度
84
- * @param deg 跨越弧度
85
- */
86
- fillArc(cx: number, cy: number, r1: number, r2: number, beginDeg: number, deg: number): this
87
-
88
- /**
89
- * 绘制一个空心的圆弧
90
- * @param cx 圆弧的圆心x坐标
91
- * @param cy 圆弧的圆心y坐标
92
- * @param r1 圆弧的内半径
93
- * @param r2 圆弧的外半径
94
- * @param beginDeg 开始弧度
95
- * @param deg 跨越弧度
96
- */
97
- strokeArc(cx: number, cy: number, r1: number, r2: number, beginDeg: number, deg: number): this
98
-
99
- /**
100
- * 绘制一个空实心的圆弧
101
- * @param cx 圆弧的圆心x坐标
102
- * @param cy 圆弧的圆心y坐标
103
- * @param r1 圆弧的内半径
104
- * @param r2 圆弧的外半径
105
- * @param beginDeg 开始弧度
106
- * @param deg 跨越弧度
107
- */
108
- fullArc(cx: number, cy: number, r1: number, r2: number, beginDeg: number, deg: number): this
109
-
110
- /**
111
- * 绘制一个实心的圆
112
- * @param cx 圆心x坐标
113
- * @param cy 圆心y坐标
114
- * @param r 圆的半径
115
- */
116
- fillCircle(cx: number, cy: number, r: number): this
117
-
118
- /**
119
- * 绘制一个空心的圆
120
- * @param cx 圆心x坐标
121
- * @param cy 圆心y坐标
122
- * @param r 圆的半径
123
- */
124
- strokeCircle(cx: number, cy: number, r: number): this
125
-
126
- /**
127
- * 绘制一个空实心的圆
128
- * @param cx 圆心x坐标
129
- * @param cy 圆心y坐标
130
- * @param r 圆的半径
131
- */
132
- fullCircle(cx: number, cy: number, r: number): this
133
-
134
- /**
135
- * 绘制一个实心的矩形
136
- * @param x 可选,区域左上角X坐标
137
- * @param y 可选,区域左上角y坐标
138
- * @param width 可选,区域的宽
139
- * @param height 可选,区域的高
140
- */
141
- fillRect(x: number, y: number, width: number, height: number): this
142
-
143
- /**
144
- * 绘制一个空心的矩形
145
- * @param x 可选,区域左上角X坐标
146
- * @param y 可选,区域左上角y坐标
147
- * @param width 可选,区域的宽
148
- * @param height 可选,区域的高
149
- */
150
- strokeRect(x: number, y: number, width: number, height: number): this
151
-
152
- /**
153
- * 绘制一个空实心的矩形
154
- * @param x 可选,区域左上角X坐标
155
- * @param y 可选,区域左上角y坐标
156
- * @param width 可选,区域的宽
157
- * @param height 可选,区域的高
158
- */
159
- fullRect(x: number, y: number, width: number, height: number): this
160
-
161
- /**
162
- * 开始一段独立的路径
163
- */
164
- beginPath(): this
165
-
166
- /**
167
- * 闭合当前路径,也就是路径首尾闭合
168
- */
169
- closePath(): this
170
-
171
- /**
172
- * 画笔移动到点(x, y),此时笔离开了画布
173
- */
174
- moveTo(x: number, y: number): this
175
-
176
- /**
177
- * 画笔移动到点(x, y),此时笔没有离开画布
178
- */
179
- lineTo(x: number, y: number): this
180
-
181
- /**
182
- * 以(cx, cy)为圆心,半径r,从弧度beginDeg开始,跨越弧度deg画弧,此时笔没有离开画布
183
- */
184
- arc(cx: number, cy: number, r: number, beginDeg: number, deg: number): this
185
-
186
- /**
187
- * 二次贝塞尔曲线到
188
- * @param cpx 控制点x坐标
189
- * @param cpy 控制点y坐标
190
- * @param x 终点x坐标
191
- * @param y 终点y坐标
192
- */
193
- quadraticCurveTo(cpx: number, cpy: number, x: number, y: number): this
194
-
195
- /**
196
- * 三次贝塞尔曲线到
197
- * @param cpx1 控制点1的x坐标
198
- * @param cpy1 控制点1的y坐标
199
- * @param cpx2 控制点2的x坐标
200
- * @param cpy2 控制点2的y坐标
201
- * @param x 终点x坐标
202
- * @param y 终点y坐标
203
- */
204
- bezierCurveTo(cp1x: number, cp1y: number, cp2x: number, cp2y: number, x: number, y: number): this
205
-
206
- /**
207
- * 保存当前的绘图状态
208
- */
209
- save(): this
210
-
211
- /**
212
- * 恢复之前保存的绘图状态
213
- */
214
- restore(): this
215
-
216
- /**
217
- * 把当前路径包裹的区域填充颜色
218
- */
219
- fill(): this
220
-
221
- /**
222
- * 把当前路径上色(轮廓线)
223
- */
224
- stroke(): this
225
-
226
- /**
227
- * 把当前路径画上轮廓线并填充颜色到当前路径所包裹的区域
228
- */
229
- full(): this
230
-
231
- /**
232
- * 绑定事件
233
- */
234
- bind(eventType: string, callback: (event: Event, target: SVGElement) => void): this
235
-
236
- /**
237
- * 创建线性渐变
238
- * @param x0 起点
239
- * @param y0
240
- * @param x1 终点
241
- * @param y1
242
- */
243
- createLinearGradient(
244
- x0: number,
245
- y0: number,
246
- x1: number,
247
- y1: number
248
- ): GradientType<string>
249
-
250
- /**
251
- * 创建环形渐变
252
- * @param cx 中心
253
- * @param cy
254
- * @param r 半径
255
- */
256
- createRadialGradient(cx: number, cy: number, r: number): GradientType<string>
257
-
258
- /**
259
- * 把画布变成url
260
- */
261
- toDataURL(): Promise<string>
262
-
263
- /**
264
- * 将画布的坐标原点向左右方向移动dx,向上下方向移动dy
265
- * @param dx
266
- * @param dy
267
- */
268
- translate(dx: number, dy: number): this
269
-
270
- /**
271
- * 将画布顺时针旋转deg弧度
272
- * @param deg
273
- */
274
- rotate(deg: number): this
275
-
276
- /**
277
- * 扩展绘制方法
278
- * @param methods
279
- */
280
- install(methods: {
281
- [key: string]: Function
282
- }): this
1
+ /**
2
+ * SVG绘图类型定义
3
+ * 提供SVG绘图的各种方法和功能
4
+ */
5
+ import SVGConfigType from './SVGConfig'
6
+ import GradientType from "./Gradient"
7
+
8
+ export default interface SVGType {
9
+
10
+ /**
11
+ * 配置画笔
12
+ */
13
+ config(configs: SVGConfigType): this
14
+
15
+ /**
16
+ * 重置
17
+ */
18
+ reset(config?: SVGConfigType): this
19
+
20
+ /**
21
+ * 标记应用节点
22
+ */
23
+ useEl(el: SVGElement): this
24
+
25
+ /**
26
+ * 获取当前应用的节点
27
+ */
28
+ getEl(): SVGElement
29
+
30
+ /**
31
+ * 追加节点
32
+ */
33
+ appendEl(el: string | SVGElement, context?: SVGElement): this
34
+
35
+ /**
36
+ * 追加绘制板
37
+ */
38
+ appendBoard(el: string | SVGElement, context?: SVGElement): this
39
+
40
+ /**
41
+ * 删除当前维护的节点
42
+ */
43
+ remove(): this
44
+
45
+ /**
46
+ * 设置或获取节点属性
47
+ */
48
+ attr(params?: any): any
49
+
50
+ /**
51
+ * 绘制一个实心文字
52
+ * @param text 需要绘制的文字
53
+ * @param x 绘制位置的x坐标
54
+ * @param y 绘制位置的y坐标
55
+ * @param deg 可选,文字旋转角度
56
+ */
57
+ fillText(text: any, x: number, y: number, deg?: number): this
58
+
59
+ /**
60
+ * 绘制一个空心文字
61
+ * @param text 需要绘制的文字
62
+ * @param x 绘制位置的x坐标
63
+ * @param y 绘制位置的y坐标
64
+ * @param deg 可选,文字旋转角度
65
+ */
66
+ strokeText(text: any, x: number, y: number, deg?: number): this
67
+
68
+ /**
69
+ * 绘制一个空实心文字
70
+ * @param text 需要绘制的文字
71
+ * @param x 绘制位置的x坐标
72
+ * @param y 绘制位置的y坐标
73
+ * @param deg 可选,文字旋转角度
74
+ */
75
+ fullText(text: any, x: number, y: number, deg?: number): this
76
+
77
+ /**
78
+ * 绘制一个实心的圆弧
79
+ * @param cx 圆弧的圆心x坐标
80
+ * @param cy 圆弧的圆心y坐标
81
+ * @param r1 圆弧的内半径
82
+ * @param r2 圆弧的外半径
83
+ * @param beginDeg 开始弧度
84
+ * @param deg 跨越弧度
85
+ */
86
+ fillArc(cx: number, cy: number, r1: number, r2: number, beginDeg: number, deg: number): this
87
+
88
+ /**
89
+ * 绘制一个空心的圆弧
90
+ * @param cx 圆弧的圆心x坐标
91
+ * @param cy 圆弧的圆心y坐标
92
+ * @param r1 圆弧的内半径
93
+ * @param r2 圆弧的外半径
94
+ * @param beginDeg 开始弧度
95
+ * @param deg 跨越弧度
96
+ */
97
+ strokeArc(cx: number, cy: number, r1: number, r2: number, beginDeg: number, deg: number): this
98
+
99
+ /**
100
+ * 绘制一个空实心的圆弧
101
+ * @param cx 圆弧的圆心x坐标
102
+ * @param cy 圆弧的圆心y坐标
103
+ * @param r1 圆弧的内半径
104
+ * @param r2 圆弧的外半径
105
+ * @param beginDeg 开始弧度
106
+ * @param deg 跨越弧度
107
+ */
108
+ fullArc(cx: number, cy: number, r1: number, r2: number, beginDeg: number, deg: number): this
109
+
110
+ /**
111
+ * 绘制一个实心的圆
112
+ * @param cx 圆心x坐标
113
+ * @param cy 圆心y坐标
114
+ * @param r 圆的半径
115
+ */
116
+ fillCircle(cx: number, cy: number, r: number): this
117
+
118
+ /**
119
+ * 绘制一个空心的圆
120
+ * @param cx 圆心x坐标
121
+ * @param cy 圆心y坐标
122
+ * @param r 圆的半径
123
+ */
124
+ strokeCircle(cx: number, cy: number, r: number): this
125
+
126
+ /**
127
+ * 绘制一个空实心的圆
128
+ * @param cx 圆心x坐标
129
+ * @param cy 圆心y坐标
130
+ * @param r 圆的半径
131
+ */
132
+ fullCircle(cx: number, cy: number, r: number): this
133
+
134
+ /**
135
+ * 绘制一个实心的矩形
136
+ * @param x 可选,区域左上角X坐标
137
+ * @param y 可选,区域左上角y坐标
138
+ * @param width 可选,区域的宽
139
+ * @param height 可选,区域的高
140
+ */
141
+ fillRect(x: number, y: number, width: number, height: number): this
142
+
143
+ /**
144
+ * 绘制一个空心的矩形
145
+ * @param x 可选,区域左上角X坐标
146
+ * @param y 可选,区域左上角y坐标
147
+ * @param width 可选,区域的宽
148
+ * @param height 可选,区域的高
149
+ */
150
+ strokeRect(x: number, y: number, width: number, height: number): this
151
+
152
+ /**
153
+ * 绘制一个空实心的矩形
154
+ * @param x 可选,区域左上角X坐标
155
+ * @param y 可选,区域左上角y坐标
156
+ * @param width 可选,区域的宽
157
+ * @param height 可选,区域的高
158
+ */
159
+ fullRect(x: number, y: number, width: number, height: number): this
160
+
161
+ /**
162
+ * 开始一段独立的路径
163
+ */
164
+ beginPath(): this
165
+
166
+ /**
167
+ * 闭合当前路径,也就是路径首尾闭合
168
+ */
169
+ closePath(): this
170
+
171
+ /**
172
+ * 画笔移动到点(x, y),此时笔离开了画布
173
+ */
174
+ moveTo(x: number, y: number): this
175
+
176
+ /**
177
+ * 画笔移动到点(x, y),此时笔没有离开画布
178
+ */
179
+ lineTo(x: number, y: number): this
180
+
181
+ /**
182
+ * 以(cx, cy)为圆心,半径r,从弧度beginDeg开始,跨越弧度deg画弧,此时笔没有离开画布
183
+ */
184
+ arc(cx: number, cy: number, r: number, beginDeg: number, deg: number): this
185
+
186
+ /**
187
+ * 二次贝塞尔曲线到
188
+ * @param cpx 控制点x坐标
189
+ * @param cpy 控制点y坐标
190
+ * @param x 终点x坐标
191
+ * @param y 终点y坐标
192
+ */
193
+ quadraticCurveTo(cpx: number, cpy: number, x: number, y: number): this
194
+
195
+ /**
196
+ * 三次贝塞尔曲线到
197
+ * @param cpx1 控制点1的x坐标
198
+ * @param cpy1 控制点1的y坐标
199
+ * @param cpx2 控制点2的x坐标
200
+ * @param cpy2 控制点2的y坐标
201
+ * @param x 终点x坐标
202
+ * @param y 终点y坐标
203
+ */
204
+ bezierCurveTo(cp1x: number, cp1y: number, cp2x: number, cp2y: number, x: number, y: number): this
205
+
206
+ /**
207
+ * 保存当前的绘图状态
208
+ */
209
+ save(): this
210
+
211
+ /**
212
+ * 恢复之前保存的绘图状态
213
+ */
214
+ restore(): this
215
+
216
+ /**
217
+ * 把当前路径包裹的区域填充颜色
218
+ */
219
+ fill(): this
220
+
221
+ /**
222
+ * 把当前路径上色(轮廓线)
223
+ */
224
+ stroke(): this
225
+
226
+ /**
227
+ * 把当前路径画上轮廓线并填充颜色到当前路径所包裹的区域
228
+ */
229
+ full(): this
230
+
231
+ /**
232
+ * 绑定事件
233
+ */
234
+ bind(eventType: string, callback: (event: Event, target: SVGElement) => void): this
235
+
236
+ /**
237
+ * 创建线性渐变
238
+ * @param x0 起点
239
+ * @param y0
240
+ * @param x1 终点
241
+ * @param y1
242
+ */
243
+ createLinearGradient(
244
+ x0: number,
245
+ y0: number,
246
+ x1: number,
247
+ y1: number
248
+ ): GradientType<string>
249
+
250
+ /**
251
+ * 创建环形渐变
252
+ * @param cx 中心
253
+ * @param cy
254
+ * @param r 半径
255
+ */
256
+ createRadialGradient(cx: number, cy: number, r: number): GradientType<string>
257
+
258
+ /**
259
+ * 把画布变成url
260
+ */
261
+ toDataURL(): Promise<string>
262
+
263
+ /**
264
+ * 将画布的坐标原点向左右方向移动dx,向上下方向移动dy
265
+ * @param dx
266
+ * @param dy
267
+ */
268
+ translate(dx: number, dy: number): this
269
+
270
+ /**
271
+ * 将画布顺时针旋转deg弧度
272
+ * @param deg
273
+ */
274
+ rotate(deg: number): this
275
+
276
+ /**
277
+ * 扩展绘制方法
278
+ * @param methods
279
+ */
280
+ install(methods: {
281
+ [key: string]: Function
282
+ }): this
283
283
  }
@@ -1,55 +1,55 @@
1
- import { arcCapType, textAlignType, textBaselineType, lineCapType, lineJoinType } from './painterConfig'
2
-
3
- /** SVG元素类型定义 */
4
- export type svgElType = SVGElement | "g" | "text" | "path" | "circle" | "rect" | "polygon" | "polyline"
5
- /** SVG绘图板类型定义 */
6
- export type svgBoardType = SVGElement | "text" | "path" | "arc" | "circle" | "rect"
7
-
8
- /**
9
- * SVG配置类型定义
10
- * 用于配置SVG绘图的各种样式和属性
11
- */
12
- export default interface SVGConfigType {
13
-
14
- /** 填充色或图案,默认"#000" */
15
- fillStyle?: string
16
-
17
- /** 轮廓色或图案,默认"#000" */
18
- strokeStyle?: string
19
-
20
- /** 线条宽度,默认1(单位px) */
21
- lineWidth?: number
22
-
23
- /** 线的端点类型,默认"butt"平直边缘(还有"round"半圆和"square"矩形) */
24
- lineCap?: lineCapType
25
-
26
- /** 线的拐角连接方式,默认"miter"连接处边缘延长相接(还有"bevel"对角线斜角和"round"圆) */
27
- lineJoin?: lineJoinType
28
-
29
- /**
30
- * 设置线条虚线,默认为[]表示使用实线绘制
31
- * 值应该是一个数组,格式:[实线长,虚线长,实线长 ...],数组长度任意,会自动循环
32
- */
33
- lineDash?: Array<number>
34
-
35
- /** 文字水平对齐方式,默认"left"左对齐(还有"center"居中和"right"右对齐) */
36
- textAlign?: textAlignType
37
-
38
- /** 文字垂直对齐方式,默认"middle"垂直居中(还有"top"上对齐和"bottom"下对齐) */
39
- textBaseline?: textBaselineType
40
-
41
- /** 文字大小,默认16 */
42
- fontSize?: number
43
-
44
- /** 字体,默认"sans-serif" */
45
- fontFamily?: string
46
-
47
- /** 圆弧开始端闭合方式,默认"butt"直线闭合(还有"round"圆帽闭合,"-round"反圆帽闭合) */
48
- arcStartCap?: arcCapType
49
-
50
- /** 圆弧结束端闭合方式,默认"butt"直线闭合(还有"round"圆帽闭合,"-round"反圆帽闭合) */
51
- arcEndCap?: arcCapType
52
-
53
- /** 矩形圆角半径 */
54
- rectRadius?: Array<number>
1
+ import { arcCapType, textAlignType, textBaselineType, lineCapType, lineJoinType } from './painterConfig'
2
+
3
+ /** SVG元素类型定义 */
4
+ export type svgElType = SVGElement | "g" | "text" | "path" | "circle" | "rect" | "polygon" | "polyline"
5
+ /** SVG绘图板类型定义 */
6
+ export type svgBoardType = SVGElement | "text" | "path" | "arc" | "circle" | "rect"
7
+
8
+ /**
9
+ * SVG配置类型定义
10
+ * 用于配置SVG绘图的各种样式和属性
11
+ */
12
+ export default interface SVGConfigType {
13
+
14
+ /** 填充色或图案,默认"#000" */
15
+ fillStyle?: string
16
+
17
+ /** 轮廓色或图案,默认"#000" */
18
+ strokeStyle?: string
19
+
20
+ /** 线条宽度,默认1(单位px) */
21
+ lineWidth?: number
22
+
23
+ /** 线的端点类型,默认"butt"平直边缘(还有"round"半圆和"square"矩形) */
24
+ lineCap?: lineCapType
25
+
26
+ /** 线的拐角连接方式,默认"miter"连接处边缘延长相接(还有"bevel"对角线斜角和"round"圆) */
27
+ lineJoin?: lineJoinType
28
+
29
+ /**
30
+ * 设置线条虚线,默认为[]表示使用实线绘制
31
+ * 值应该是一个数组,格式:[实线长,虚线长,实线长 ...],数组长度任意,会自动循环
32
+ */
33
+ lineDash?: Array<number>
34
+
35
+ /** 文字水平对齐方式,默认"left"左对齐(还有"center"居中和"right"右对齐) */
36
+ textAlign?: textAlignType
37
+
38
+ /** 文字垂直对齐方式,默认"middle"垂直居中(还有"top"上对齐和"bottom"下对齐) */
39
+ textBaseline?: textBaselineType
40
+
41
+ /** 文字大小,默认16 */
42
+ fontSize?: number
43
+
44
+ /** 字体,默认"sans-serif" */
45
+ fontFamily?: string
46
+
47
+ /** 圆弧开始端闭合方式,默认"butt"直线闭合(还有"round"圆帽闭合,"-round"反圆帽闭合) */
48
+ arcStartCap?: arcCapType
49
+
50
+ /** 圆弧结束端闭合方式,默认"butt"直线闭合(还有"round"圆帽闭合,"-round"反圆帽闭合) */
51
+ arcEndCap?: arcCapType
52
+
53
+ /** 矩形圆角半径 */
54
+ rectRadius?: Array<number>
55
55
  }