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