vislite 1.12.0 → 1.12.1

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 (179) hide show
  1. package/AUTHORS.txt +6 -6
  2. package/CHANGELOG +408 -403
  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 -804
  13. package/lib/Cardinal/index.es.js +89 -89
  14. package/lib/Eoap/index.es.js +32 -32
  15. package/lib/Hermite/index.es.js +34 -34
  16. package/lib/MapCoordinate/index.es.js +199 -199
  17. package/lib/Matrix4/index.es.js +123 -123
  18. package/lib/Mercator/index.es.js +18 -18
  19. package/lib/PieLayout/index.es.js +115 -115
  20. package/lib/RawCanvas/index.es.js +736 -736
  21. package/lib/SVG/index.es.js +626 -626
  22. package/lib/Shader/index.es.js +34 -34
  23. package/lib/Texture/index.es.js +52 -52
  24. package/lib/TreeLayout/index.es.js +301 -301
  25. package/lib/animation/index.es.js +2 -2
  26. package/lib/assemble/index.es.js +19 -19
  27. package/lib/getLoopColors/index.es.js +34 -34
  28. package/lib/getWebGLContext/index.es.js +61 -61
  29. package/lib/index.umd.js +2797 -2797
  30. package/lib/index.umd.min.js +1 -1
  31. package/lib/initOption/index.es.js +5 -5
  32. package/lib/mergeOption/index.es.js +34 -34
  33. package/lib/move/index.es.js +6 -6
  34. package/lib/rotate/index.es.js +6 -6
  35. package/lib/ruler/index.es.js +136 -136
  36. package/lib/scale/index.es.js +5 -5
  37. package/minialipay/ui-canvas/drawImage.js +35 -35
  38. package/minialipay/ui-canvas/index.acss +4 -4
  39. package/minialipay/ui-canvas/index.axml +3 -3
  40. package/minialipay/ui-canvas/index.d.ts +1 -1
  41. package/minialipay/ui-canvas/index.js +100 -100
  42. package/minialipay/ui-canvas/index.json +6 -6
  43. package/miniprogram/ui-canvas/drawImage.js +35 -35
  44. package/miniprogram/ui-canvas/index.js +125 -125
  45. package/miniprogram/ui-canvas/index.json +4 -4
  46. package/miniprogram/ui-canvas/index.wxml +4 -4
  47. package/miniprogram/ui-canvas/index.wxss +5 -5
  48. package/package/BarLayout/index.ts +2 -2
  49. package/package/Buffer/index.ts +2 -2
  50. package/package/Canvas/index.ts +2 -2
  51. package/package/Cardinal/index.ts +2 -2
  52. package/package/Eoap/index.ts +2 -2
  53. package/package/Hermite/index.ts +2 -2
  54. package/package/MapCoordinate/index.ts +2 -2
  55. package/package/Matrix4/index.ts +2 -2
  56. package/package/Mercator/index.ts +2 -2
  57. package/package/PieLayout/index.ts +2 -2
  58. package/package/RawCanvas/index.ts +2 -2
  59. package/package/SVG/index.ts +2 -2
  60. package/package/Shader/index.ts +2 -2
  61. package/package/Texture/index.ts +2 -2
  62. package/package/TreeLayout/index.ts +2 -2
  63. package/package/animation/index.ts +5 -5
  64. package/package/assemble/index.ts +2 -2
  65. package/package/getLoopColors/index.ts +2 -2
  66. package/package/getWebGLContext/index.ts +40 -40
  67. package/package/index.ts +84 -84
  68. package/package/initOption/index.ts +2 -2
  69. package/package/mergeOption/index.ts +2 -2
  70. package/package/move/index.ts +2 -2
  71. package/package/rotate/index.ts +2 -2
  72. package/package/ruler/index.ts +2 -2
  73. package/package/scale/index.ts +2 -2
  74. package/package/throttle/index.ts +2 -2
  75. package/package.json +79 -79
  76. package/skills/vislite-lib/BarLayout.md +117 -117
  77. package/skills/vislite-lib/Canvas.md +183 -183
  78. package/skills/vislite-lib/Interpolation.md +129 -129
  79. package/skills/vislite-lib/Matrix.md +174 -174
  80. package/skills/vislite-lib/PieLayout.md +131 -131
  81. package/skills/vislite-lib/Projections.md +158 -158
  82. package/skills/vislite-lib/SKILL.md +179 -179
  83. package/skills/vislite-lib/SVG.md +137 -137
  84. package/skills/vislite-lib/TreeLayout.md +176 -176
  85. package/skills/vislite-lib/Utilities.md +261 -261
  86. package/skills/vislite-lib/WebGL.md +106 -106
  87. package/skills/vislite-lib/minialipay/ui-canvas.md +95 -95
  88. package/skills/vislite-lib/miniprogram/ui-canvas.md +98 -98
  89. package/skills/vislite-lib/uniapp/ui-canvas.md +113 -113
  90. package/src/Canvas.ts +89 -89
  91. package/src/Eoap.ts +66 -66
  92. package/src/Matrix4/index.ts +84 -84
  93. package/src/Matrix4/move.ts +12 -12
  94. package/src/Matrix4/rotate.ts +15 -15
  95. package/src/Matrix4/scale.ts +11 -11
  96. package/src/Matrix4/transform.ts +64 -64
  97. package/src/Mercator.ts +27 -27
  98. package/src/SVG.ts +86 -86
  99. package/src/common/assemble.ts +30 -30
  100. package/src/common/canvas/arc.ts +51 -51
  101. package/src/common/canvas/config.ts +176 -176
  102. package/src/common/canvas/default.ts +64 -64
  103. package/src/common/canvas/gradient.ts +31 -31
  104. package/src/common/canvas/index.ts +189 -189
  105. package/src/common/canvas/painter.ts +475 -475
  106. package/src/common/canvas/texts.ts +18 -18
  107. package/src/common/map/getBoundary.ts +15 -15
  108. package/src/common/map/tool.ts +29 -29
  109. package/src/common/option.ts +31 -31
  110. package/src/common/setStyle.ts +5 -5
  111. package/src/common/svg/config.ts +213 -213
  112. package/src/common/svg/default.ts +29 -29
  113. package/src/common/svg/gradient.ts +53 -53
  114. package/src/common/svg/index.ts +420 -420
  115. package/src/common/svg/tool.ts +51 -51
  116. package/src/common/tree/index.ts +25 -25
  117. package/src/common/tree/toInnerTree.ts +61 -61
  118. package/src/common/tree/toPlainTree.ts +135 -135
  119. package/src/common/type.ts +26 -26
  120. package/src/common/webgl/buffer.ts +79 -79
  121. package/src/common/webgl/getWebGLContext.ts +45 -45
  122. package/src/common/webgl/shader.ts +75 -75
  123. package/src/common/webgl/texture.ts +98 -98
  124. package/src/coordinate/MapCoordinate.ts +80 -80
  125. package/src/getLoopColors.ts +42 -42
  126. package/src/interpolation/Cardinal.ts +110 -110
  127. package/src/interpolation/Hermite.ts +65 -65
  128. package/src/layout/BarLayout.ts +249 -249
  129. package/src/layout/PieLayout.ts +146 -146
  130. package/src/layout/TreeLayout.ts +200 -200
  131. package/src/move.ts +7 -7
  132. package/src/rotate.ts +7 -7
  133. package/src/ruler.ts +209 -209
  134. package/src/scale.ts +6 -6
  135. package/types/Bar.d.ts +91 -91
  136. package/types/BarConfig.d.ts +4 -4
  137. package/types/BarLayout.d.ts +48 -48
  138. package/types/BarOption.d.ts +31 -31
  139. package/types/Buffer.d.ts +30 -30
  140. package/types/Canvas.d.ts +379 -379
  141. package/types/CanvasConfig.d.ts +61 -61
  142. package/types/CanvasOption.d.ts +13 -13
  143. package/types/CanvasOpts.d.ts +9 -9
  144. package/types/Cardinal.d.ts +20 -20
  145. package/types/Gradient.d.ts +20 -20
  146. package/types/Hermite.d.ts +25 -25
  147. package/types/Map.d.ts +9 -9
  148. package/types/MapConfig.d.ts +27 -27
  149. package/types/MapCoordinate.d.ts +22 -22
  150. package/types/Matrix4.d.ts +79 -79
  151. package/types/Pie.d.ts +73 -73
  152. package/types/PieConfig.d.ts +26 -26
  153. package/types/PieLayout.d.ts +40 -40
  154. package/types/PieOption.d.ts +21 -21
  155. package/types/SVG.d.ts +282 -282
  156. package/types/SVGConfig.d.ts +54 -54
  157. package/types/Shader.d.ts +22 -22
  158. package/types/Texture.d.ts +22 -22
  159. package/types/Tree.d.ts +74 -74
  160. package/types/TreeConfig.d.ts +52 -52
  161. package/types/TreeLayout.d.ts +71 -71
  162. package/types/TreeOption.d.ts +48 -48
  163. package/types/animation.d.ts +26 -26
  164. package/types/assemble.d.ts +14 -14
  165. package/types/getLoopColors.d.ts +13 -13
  166. package/types/getWebGLContext.d.ts +7 -7
  167. package/types/index.d.ts +220 -220
  168. package/types/module.d.ts +110 -110
  169. package/types/move.d.ts +15 -15
  170. package/types/option.d.ts +12 -12
  171. package/types/painterConfig.d.ts +14 -14
  172. package/types/rotate.d.ts +15 -15
  173. package/types/ruler.d.ts +24 -24
  174. package/types/scale.d.ts +15 -15
  175. package/types/throttle.d.ts +6 -6
  176. package/types/ui-canvas.d.ts +4 -4
  177. package/types/uni-canvas.d.ts +3 -3
  178. package/uni-app/drawImage.js +19 -19
  179. package/uni-app/ui-canvas.vue +295 -295
package/types/Canvas.d.ts CHANGED
@@ -1,379 +1,379 @@
1
- /**
2
- * Canvas绘图类型定义
3
- * 提供Canvas 2D绘图的各种方法和功能
4
- */
5
- import CanvasConfigType from "./CanvasConfig"
6
- import GradientType from "./Gradient"
7
-
8
- export default interface CanvasType {
9
- /**
10
- * 配置画笔
11
- */
12
- config(configs: CanvasConfigType): this
13
-
14
- /**
15
- * 重置
16
- */
17
- reset(config?: CanvasConfigType): this
18
-
19
- /**
20
- * 绘制一个实心文字
21
- * @param text 需要绘制的文字
22
- * @param x 绘制位置的x坐标
23
- * @param y 绘制位置的y坐标
24
- * @param deg 可选,文字旋转角度
25
- */
26
- fillText(text: any, x: number, y: number, deg?: number): this
27
-
28
- /**
29
- * 绘制一个空心文字
30
- * @param text 需要绘制的文字
31
- * @param x 绘制位置的x坐标
32
- * @param y 绘制位置的y坐标
33
- * @param deg 可选,文字旋转角度
34
- */
35
- strokeText(text: any, x: number, y: number, deg?: number): this
36
-
37
- /**
38
- * 绘制一个空实心文字
39
- * @param text 需要绘制的文字
40
- * @param x 绘制位置的x坐标
41
- * @param y 绘制位置的y坐标
42
- * @param deg 可选,文字旋转角度
43
- */
44
- fullText(text: any, x: number, y: number, deg?: number): this
45
-
46
- /**
47
- * 计算文字宽
48
- * @param text 需要计算宽的文字
49
- */
50
- textWidth(text: string): number
51
-
52
- /**
53
- * 绘制一个实心的圆弧
54
- * @param cx 圆弧的圆心x坐标
55
- * @param cy 圆弧的圆心y坐标
56
- * @param r1 圆弧的内半径
57
- * @param r2 圆弧的外半径
58
- * @param beginDeg 开始弧度
59
- * @param deg 跨越弧度
60
- */
61
- fillArc(
62
- cx: number,
63
- cy: number,
64
- r1: number,
65
- r2: number,
66
- beginDeg: number,
67
- deg: number
68
- ): this
69
-
70
- /**
71
- * 绘制一个空心的圆弧
72
- * @param cx 圆弧的圆心x坐标
73
- * @param cy 圆弧的圆心y坐标
74
- * @param r1 圆弧的内半径
75
- * @param r2 圆弧的外半径
76
- * @param beginDeg 开始弧度
77
- * @param deg 跨越弧度
78
- */
79
- strokeArc(
80
- cx: number,
81
- cy: number,
82
- r1: number,
83
- r2: number,
84
- beginDeg: number,
85
- deg: number
86
- ): 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
- fullArc(
98
- cx: number,
99
- cy: number,
100
- r1: number,
101
- r2: number,
102
- beginDeg: number,
103
- deg: number
104
- ): this
105
-
106
- /**
107
- * 绘制一个实心的圆
108
- * @param cx 圆心x坐标
109
- * @param cy 圆心y坐标
110
- * @param r 圆的半径
111
- */
112
- fillCircle(cx: number, cy: number, r: number): this
113
-
114
- /**
115
- * 绘制一个空心的圆
116
- * @param cx 圆心x坐标
117
- * @param cy 圆心y坐标
118
- * @param r 圆的半径
119
- */
120
- strokeCircle(cx: number, cy: number, r: number): this
121
-
122
- /**
123
- * 绘制一个空实心的圆
124
- * @param cx 圆心x坐标
125
- * @param cy 圆心y坐标
126
- * @param r 圆的半径
127
- */
128
- fullCircle(cx: number, cy: number, r: number): this
129
-
130
- /**
131
- * 绘制一个实心的矩形
132
- * @param x 可选,区域左上角X坐标
133
- * @param y 可选,区域左上角y坐标
134
- * @param width 可选,区域的宽
135
- * @param height 可选,区域的高
136
- */
137
- fillRect(x: number, y: number, width: number, height: number): this
138
-
139
- /**
140
- * 绘制一个空心的矩形
141
- * @param x 可选,区域左上角X坐标
142
- * @param y 可选,区域左上角y坐标
143
- * @param width 可选,区域的宽
144
- * @param height 可选,区域的高
145
- */
146
- strokeRect(x: number, y: number, width: number, height: number): this
147
-
148
- /**
149
- * 绘制一个空实心的矩形
150
- * @param x 可选,区域左上角X坐标
151
- * @param y 可选,区域左上角y坐标
152
- * @param width 可选,区域的宽
153
- * @param height 可选,区域的高
154
- */
155
- fullRect(x: number, y: number, width: number, height: number): this
156
-
157
- /**
158
- * 开始一段独立的路径
159
- */
160
- beginPath(): this
161
-
162
- /**
163
- * 闭合当前路径,也就是路径首尾闭合
164
- */
165
- closePath(): this
166
-
167
- /**
168
- * 画笔移动到点(x, y),此时笔离开了画布
169
- */
170
- moveTo(x: number, y: number): this
171
-
172
- /**
173
- * 画笔移动到点(x, y),此时笔没有离开画布
174
- */
175
- lineTo(x: number, y: number): this
176
-
177
- /**
178
- * 以(cx, cy)为圆心,半径r,从弧度beginDeg开始,跨越弧度deg画弧,此时笔没有离开画布
179
- */
180
- arc(cx: number, cy: number, r: number, beginDeg: number, deg: number): this
181
-
182
- /**
183
- * 把当前路径包裹的区域填充颜色
184
- */
185
- fill(): this
186
-
187
- /**
188
- * 把当前路径上色(轮廓线)
189
- */
190
- stroke(): this
191
-
192
- /**
193
- * 把当前路径画上轮廓线并填充颜色到当前路径所包裹的区域
194
- */
195
- full(): this
196
-
197
- /**
198
- * 二次贝塞尔曲线到
199
- * @param cpx 控制点x坐标
200
- * @param cpy 控制点y坐标
201
- * @param x 终点x坐标
202
- * @param y 终点y坐标
203
- */
204
- quadraticCurveTo(cpx: number, cpy: number, x: number, y: number): this
205
-
206
- /**
207
- * 三次贝塞尔曲线到
208
- * @param cpx1 控制点1的x坐标
209
- * @param cpy1 控制点1的y坐标
210
- * @param cpx2 控制点2的x坐标
211
- * @param cpy2 控制点2的y坐标
212
- * @param x 终点x坐标
213
- * @param y 终点y坐标
214
- */
215
- bezierCurveTo(
216
- cp1x: number,
217
- cp1y: number,
218
- cp2x: number,
219
- cp2y: number,
220
- x: number,
221
- y: number
222
- ): this
223
-
224
- /**
225
- * 保存当前的绘图状态
226
- */
227
- save(): this
228
-
229
- /**
230
- * 恢复之前保存的绘图状态
231
- */
232
- restore(): this
233
-
234
- /**
235
- * 生成裁剪区域
236
- */
237
- clip(): this
238
-
239
- /**
240
- * 擦除画笔上的一个矩形区域
241
- * @param x 区域左上角X坐标
242
- * @param y 区域左上角y坐标
243
- * @param w 区域的宽
244
- * @param h 区域的高
245
- */
246
- clearRect(x: number, y: number, w: number, h: number): this
247
-
248
- /**
249
- * 擦除画笔上的一个圆形区域
250
- * @param cx 区域中心X坐标
251
- * @param cy 区域中心Y坐标
252
- * @param r 区域半径
253
- */
254
- clearCircle(cx: number, cy: number, r: number): this
255
-
256
- /**
257
- * 是否操作只影响区域
258
- */
259
- onlyRegion(flag: boolean): this
260
-
261
- /**
262
- * 是否操作只影响视图
263
- */
264
- onlyView(flag: boolean): this
265
-
266
- /**
267
- * 设置区域
268
- */
269
- setRegion(regionName: string | number): this
270
-
271
- /**
272
- * 获取区域
273
- */
274
- getRegion(x: number, y: number): Promise<string>
275
-
276
- /**
277
- * 把画布变成url
278
- * @param type 【仅H5端有效】字符串类型,可选,表示要导出的图片格式,默认为 "image/png"(还可以设置为 "image/jpeg"、"image/webp" 等格式)
279
- * @param encoderOptions 【仅H5端有效】数值类型,可选,用于指定图像的质量,默认0.92,如果设置了该参数,则只对 "image/jpeg" 和 "image/webp" 格式有效,取值范围是 0 到 1 之间,其中 1 表示最高质量,0 表示最低质量。对于 PNG 格式,此参数无效。
280
- */
281
- toDataURL(type?: string, encoderOptions?: number): Promise<string>
282
-
283
- /**
284
- * 获取原生画笔
285
- * @param isRegion 是否是区域
286
- */
287
- getContext(isRegion?: boolean): CanvasRenderingContext2D | null
288
-
289
- /**
290
- * 获取画布信息
291
- */
292
- getInfo(): {
293
- width: number
294
- height: number
295
- }
296
-
297
- /**
298
- * 创建线性渐变
299
- * @param x0 起点
300
- * @param y0
301
- * @param x1 终点
302
- * @param y1
303
- */
304
- createLinearGradient(
305
- x0: number,
306
- y0: number,
307
- x1: number,
308
- y1: number
309
- ): GradientType<CanvasGradient>
310
-
311
- /**
312
- * 创建环形渐变
313
- * @param cx 中心
314
- * @param cy
315
- * @param r 半径
316
- */
317
- createRadialGradient(cx: number, cy: number, r: number): GradientType<CanvasGradient>
318
-
319
- /**
320
- * 创建角度渐变
321
- * @param cx 中心
322
- * @param cy
323
- * @param beginDeg 开始弧度
324
- * @param deg 跨越弧度,可选,默认2PI
325
- */
326
- createConicGradient(cx: number, cy: number, beginDeg: number, deg?: number): GradientType<CanvasGradient>
327
-
328
- /**
329
- * 获取指定位置颜色
330
- * @param x
331
- * @param y
332
- */
333
- getColor(x: number, y: number): string
334
-
335
- /**
336
- * 渲染绘制(uniapp独有)
337
- * @param reserve 是否保留当前画布上的内容
338
- * @param callback 绘制完成后回调
339
- */
340
- draw(reserve?: boolean, callback?: Function): void
341
-
342
- /**
343
- * 绘制图片
344
- * @param img 需要绘制的图片
345
- * @param x
346
- * @param y
347
- * @param w
348
- * @param h
349
- */
350
- drawImage(img: CanvasImageSource | string, x: number, y: number, w: number, h: number, isUniapp?: boolean): Promise<any>
351
-
352
- /**
353
- * 绑定事件(仅H5可用)
354
- * @param eventName 事件名称
355
- * @param callback 回调函数
356
- */
357
- bind(eventName: string, callback: (regionName: string, x: number, y: number) => void): this
358
-
359
- /**
360
- * 将画布的坐标原点向左右方向移动dx,向上下方向移动dy
361
- * @param dx
362
- * @param dy
363
- */
364
- translate(dx: number, dy: number): this
365
-
366
- /**
367
- * 将画布顺时针旋转deg弧度
368
- * @param deg
369
- */
370
- rotate(deg: number): this
371
-
372
- /**
373
- * 扩展绘制方法
374
- * @param methods
375
- */
376
- install(methods: {
377
- [key: string]: Function
378
- }): this
379
- }
1
+ /**
2
+ * Canvas绘图类型定义
3
+ * 提供Canvas 2D绘图的各种方法和功能
4
+ */
5
+ import CanvasConfigType from "./CanvasConfig"
6
+ import GradientType from "./Gradient"
7
+
8
+ export default interface CanvasType {
9
+ /**
10
+ * 配置画笔
11
+ */
12
+ config(configs: CanvasConfigType): this
13
+
14
+ /**
15
+ * 重置
16
+ */
17
+ reset(config?: CanvasConfigType): this
18
+
19
+ /**
20
+ * 绘制一个实心文字
21
+ * @param text 需要绘制的文字
22
+ * @param x 绘制位置的x坐标
23
+ * @param y 绘制位置的y坐标
24
+ * @param deg 可选,文字旋转角度
25
+ */
26
+ fillText(text: any, x: number, y: number, deg?: number): this
27
+
28
+ /**
29
+ * 绘制一个空心文字
30
+ * @param text 需要绘制的文字
31
+ * @param x 绘制位置的x坐标
32
+ * @param y 绘制位置的y坐标
33
+ * @param deg 可选,文字旋转角度
34
+ */
35
+ strokeText(text: any, x: number, y: number, deg?: number): this
36
+
37
+ /**
38
+ * 绘制一个空实心文字
39
+ * @param text 需要绘制的文字
40
+ * @param x 绘制位置的x坐标
41
+ * @param y 绘制位置的y坐标
42
+ * @param deg 可选,文字旋转角度
43
+ */
44
+ fullText(text: any, x: number, y: number, deg?: number): this
45
+
46
+ /**
47
+ * 计算文字宽
48
+ * @param text 需要计算宽的文字
49
+ */
50
+ textWidth(text: string): number
51
+
52
+ /**
53
+ * 绘制一个实心的圆弧
54
+ * @param cx 圆弧的圆心x坐标
55
+ * @param cy 圆弧的圆心y坐标
56
+ * @param r1 圆弧的内半径
57
+ * @param r2 圆弧的外半径
58
+ * @param beginDeg 开始弧度
59
+ * @param deg 跨越弧度
60
+ */
61
+ fillArc(
62
+ cx: number,
63
+ cy: number,
64
+ r1: number,
65
+ r2: number,
66
+ beginDeg: number,
67
+ deg: number
68
+ ): this
69
+
70
+ /**
71
+ * 绘制一个空心的圆弧
72
+ * @param cx 圆弧的圆心x坐标
73
+ * @param cy 圆弧的圆心y坐标
74
+ * @param r1 圆弧的内半径
75
+ * @param r2 圆弧的外半径
76
+ * @param beginDeg 开始弧度
77
+ * @param deg 跨越弧度
78
+ */
79
+ strokeArc(
80
+ cx: number,
81
+ cy: number,
82
+ r1: number,
83
+ r2: number,
84
+ beginDeg: number,
85
+ deg: number
86
+ ): 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
+ fullArc(
98
+ cx: number,
99
+ cy: number,
100
+ r1: number,
101
+ r2: number,
102
+ beginDeg: number,
103
+ deg: number
104
+ ): this
105
+
106
+ /**
107
+ * 绘制一个实心的圆
108
+ * @param cx 圆心x坐标
109
+ * @param cy 圆心y坐标
110
+ * @param r 圆的半径
111
+ */
112
+ fillCircle(cx: number, cy: number, r: number): this
113
+
114
+ /**
115
+ * 绘制一个空心的圆
116
+ * @param cx 圆心x坐标
117
+ * @param cy 圆心y坐标
118
+ * @param r 圆的半径
119
+ */
120
+ strokeCircle(cx: number, cy: number, r: number): this
121
+
122
+ /**
123
+ * 绘制一个空实心的圆
124
+ * @param cx 圆心x坐标
125
+ * @param cy 圆心y坐标
126
+ * @param r 圆的半径
127
+ */
128
+ fullCircle(cx: number, cy: number, r: number): this
129
+
130
+ /**
131
+ * 绘制一个实心的矩形
132
+ * @param x 可选,区域左上角X坐标
133
+ * @param y 可选,区域左上角y坐标
134
+ * @param width 可选,区域的宽
135
+ * @param height 可选,区域的高
136
+ */
137
+ fillRect(x: number, y: number, width: number, height: number): this
138
+
139
+ /**
140
+ * 绘制一个空心的矩形
141
+ * @param x 可选,区域左上角X坐标
142
+ * @param y 可选,区域左上角y坐标
143
+ * @param width 可选,区域的宽
144
+ * @param height 可选,区域的高
145
+ */
146
+ strokeRect(x: number, y: number, width: number, height: number): this
147
+
148
+ /**
149
+ * 绘制一个空实心的矩形
150
+ * @param x 可选,区域左上角X坐标
151
+ * @param y 可选,区域左上角y坐标
152
+ * @param width 可选,区域的宽
153
+ * @param height 可选,区域的高
154
+ */
155
+ fullRect(x: number, y: number, width: number, height: number): this
156
+
157
+ /**
158
+ * 开始一段独立的路径
159
+ */
160
+ beginPath(): this
161
+
162
+ /**
163
+ * 闭合当前路径,也就是路径首尾闭合
164
+ */
165
+ closePath(): this
166
+
167
+ /**
168
+ * 画笔移动到点(x, y),此时笔离开了画布
169
+ */
170
+ moveTo(x: number, y: number): this
171
+
172
+ /**
173
+ * 画笔移动到点(x, y),此时笔没有离开画布
174
+ */
175
+ lineTo(x: number, y: number): this
176
+
177
+ /**
178
+ * 以(cx, cy)为圆心,半径r,从弧度beginDeg开始,跨越弧度deg画弧,此时笔没有离开画布
179
+ */
180
+ arc(cx: number, cy: number, r: number, beginDeg: number, deg: number): this
181
+
182
+ /**
183
+ * 把当前路径包裹的区域填充颜色
184
+ */
185
+ fill(): this
186
+
187
+ /**
188
+ * 把当前路径上色(轮廓线)
189
+ */
190
+ stroke(): this
191
+
192
+ /**
193
+ * 把当前路径画上轮廓线并填充颜色到当前路径所包裹的区域
194
+ */
195
+ full(): this
196
+
197
+ /**
198
+ * 二次贝塞尔曲线到
199
+ * @param cpx 控制点x坐标
200
+ * @param cpy 控制点y坐标
201
+ * @param x 终点x坐标
202
+ * @param y 终点y坐标
203
+ */
204
+ quadraticCurveTo(cpx: number, cpy: number, x: number, y: number): this
205
+
206
+ /**
207
+ * 三次贝塞尔曲线到
208
+ * @param cpx1 控制点1的x坐标
209
+ * @param cpy1 控制点1的y坐标
210
+ * @param cpx2 控制点2的x坐标
211
+ * @param cpy2 控制点2的y坐标
212
+ * @param x 终点x坐标
213
+ * @param y 终点y坐标
214
+ */
215
+ bezierCurveTo(
216
+ cp1x: number,
217
+ cp1y: number,
218
+ cp2x: number,
219
+ cp2y: number,
220
+ x: number,
221
+ y: number
222
+ ): this
223
+
224
+ /**
225
+ * 保存当前的绘图状态
226
+ */
227
+ save(): this
228
+
229
+ /**
230
+ * 恢复之前保存的绘图状态
231
+ */
232
+ restore(): this
233
+
234
+ /**
235
+ * 生成裁剪区域
236
+ */
237
+ clip(): this
238
+
239
+ /**
240
+ * 擦除画笔上的一个矩形区域
241
+ * @param x 区域左上角X坐标
242
+ * @param y 区域左上角y坐标
243
+ * @param w 区域的宽
244
+ * @param h 区域的高
245
+ */
246
+ clearRect(x: number, y: number, w: number, h: number): this
247
+
248
+ /**
249
+ * 擦除画笔上的一个圆形区域
250
+ * @param cx 区域中心X坐标
251
+ * @param cy 区域中心Y坐标
252
+ * @param r 区域半径
253
+ */
254
+ clearCircle(cx: number, cy: number, r: number): this
255
+
256
+ /**
257
+ * 是否操作只影响区域
258
+ */
259
+ onlyRegion(flag: boolean): this
260
+
261
+ /**
262
+ * 是否操作只影响视图
263
+ */
264
+ onlyView(flag: boolean): this
265
+
266
+ /**
267
+ * 设置区域
268
+ */
269
+ setRegion(regionName: string | number): this
270
+
271
+ /**
272
+ * 获取区域
273
+ */
274
+ getRegion(x: number, y: number): Promise<string>
275
+
276
+ /**
277
+ * 把画布变成url
278
+ * @param type 【仅H5端有效】字符串类型,可选,表示要导出的图片格式,默认为 "image/png"(还可以设置为 "image/jpeg"、"image/webp" 等格式)
279
+ * @param encoderOptions 【仅H5端有效】数值类型,可选,用于指定图像的质量,默认0.92,如果设置了该参数,则只对 "image/jpeg" 和 "image/webp" 格式有效,取值范围是 0 到 1 之间,其中 1 表示最高质量,0 表示最低质量。对于 PNG 格式,此参数无效。
280
+ */
281
+ toDataURL(type?: string, encoderOptions?: number): Promise<string>
282
+
283
+ /**
284
+ * 获取原生画笔
285
+ * @param isRegion 是否是区域
286
+ */
287
+ getContext(isRegion?: boolean): CanvasRenderingContext2D | null
288
+
289
+ /**
290
+ * 获取画布信息
291
+ */
292
+ getInfo(): {
293
+ width: number
294
+ height: number
295
+ }
296
+
297
+ /**
298
+ * 创建线性渐变
299
+ * @param x0 起点
300
+ * @param y0
301
+ * @param x1 终点
302
+ * @param y1
303
+ */
304
+ createLinearGradient(
305
+ x0: number,
306
+ y0: number,
307
+ x1: number,
308
+ y1: number
309
+ ): GradientType<CanvasGradient>
310
+
311
+ /**
312
+ * 创建环形渐变
313
+ * @param cx 中心
314
+ * @param cy
315
+ * @param r 半径
316
+ */
317
+ createRadialGradient(cx: number, cy: number, r: number): GradientType<CanvasGradient>
318
+
319
+ /**
320
+ * 创建角度渐变
321
+ * @param cx 中心
322
+ * @param cy
323
+ * @param beginDeg 开始弧度
324
+ * @param deg 跨越弧度,可选,默认2PI
325
+ */
326
+ createConicGradient(cx: number, cy: number, beginDeg: number, deg?: number): GradientType<CanvasGradient>
327
+
328
+ /**
329
+ * 获取指定位置颜色
330
+ * @param x
331
+ * @param y
332
+ */
333
+ getColor(x: number, y: number): string
334
+
335
+ /**
336
+ * 渲染绘制(uniapp独有)
337
+ * @param reserve 是否保留当前画布上的内容
338
+ * @param callback 绘制完成后回调
339
+ */
340
+ draw(reserve?: boolean, callback?: Function): void
341
+
342
+ /**
343
+ * 绘制图片
344
+ * @param img 需要绘制的图片
345
+ * @param x
346
+ * @param y
347
+ * @param w
348
+ * @param h
349
+ */
350
+ drawImage(img: CanvasImageSource | string, x: number, y: number, w: number, h: number, isUniapp?: boolean): Promise<any>
351
+
352
+ /**
353
+ * 绑定事件(仅H5可用)
354
+ * @param eventName 事件名称
355
+ * @param callback 回调函数
356
+ */
357
+ bind(eventName: string, callback: (regionName: string, x: number, y: number) => void): this
358
+
359
+ /**
360
+ * 将画布的坐标原点向左右方向移动dx,向上下方向移动dy
361
+ * @param dx
362
+ * @param dy
363
+ */
364
+ translate(dx: number, dy: number): this
365
+
366
+ /**
367
+ * 将画布顺时针旋转deg弧度
368
+ * @param deg
369
+ */
370
+ rotate(deg: number): this
371
+
372
+ /**
373
+ * 扩展绘制方法
374
+ * @param methods
375
+ */
376
+ install(methods: {
377
+ [key: string]: Function
378
+ }): this
379
+ }