vislite 0.4.1 → 0.5.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 (180) hide show
  1. package/.editorconfig +18 -18
  2. package/AUTHORS.txt +6 -6
  3. package/CHANGELOG +16 -0
  4. package/LICENSE +20 -20
  5. package/README.md +69 -69
  6. package/lib/Buffer/index.umd.js +3 -3
  7. package/lib/Buffer/index.umd.min.js +3 -3
  8. package/lib/Canvas/index.umd.js +3 -3
  9. package/lib/Canvas/index.umd.min.js +3 -3
  10. package/lib/Cardinal/index.umd.js +3 -3
  11. package/lib/Cardinal/index.umd.min.js +3 -3
  12. package/lib/Eoap/index.umd.js +3 -3
  13. package/lib/Eoap/index.umd.min.js +3 -3
  14. package/lib/Geometry/index.umd.js +205 -0
  15. package/lib/Geometry/index.umd.min.js +11 -0
  16. package/lib/Hermite/index.umd.js +3 -3
  17. package/lib/Hermite/index.umd.min.js +3 -3
  18. package/lib/Matrix4/index.umd.js +3 -3
  19. package/lib/Matrix4/index.umd.min.js +3 -3
  20. package/lib/Mercator/index.umd.js +5 -4
  21. package/lib/Mercator/index.umd.min.js +4 -4
  22. package/lib/OralCanvas/index.es.js +3 -3
  23. package/lib/OralCanvas/index.es.min.js +3 -3
  24. package/lib/OralWebGL/index.es.js +11 -11
  25. package/lib/OralWebGL/index.es.min.js +4 -4
  26. package/lib/SVG/index.umd.js +10 -4
  27. package/lib/SVG/index.umd.min.js +4 -4
  28. package/lib/Shader/index.umd.js +11 -11
  29. package/lib/Shader/index.umd.min.js +4 -4
  30. package/lib/Texture/index.umd.js +3 -3
  31. package/lib/Texture/index.umd.min.js +3 -3
  32. package/lib/TreeLayout/index.umd.js +8 -5
  33. package/lib/TreeLayout/index.umd.min.js +4 -4
  34. package/lib/WebGL/index.umd.js +11 -11
  35. package/lib/WebGL/index.umd.min.js +4 -4
  36. package/lib/animation/index.umd.js +3 -3
  37. package/lib/animation/index.umd.min.js +3 -3
  38. package/lib/formatColor/index.umd.js +3 -3
  39. package/lib/formatColor/index.umd.min.js +3 -3
  40. package/lib/getLoopColors/index.umd.js +3 -3
  41. package/lib/getLoopColors/index.umd.min.js +3 -3
  42. package/lib/getWebGLContext/index.umd.js +3 -3
  43. package/lib/getWebGLContext/index.umd.min.js +3 -3
  44. package/lib/index.umd.js +166 -16
  45. package/lib/index.umd.min.js +4 -4
  46. package/lib/resizeObserver/index.umd.js +3 -3
  47. package/lib/resizeObserver/index.umd.min.js +3 -3
  48. package/lib/rotate/index.umd.js +3 -3
  49. package/lib/rotate/index.umd.min.js +3 -3
  50. package/lib/ruler/index.umd.js +3 -3
  51. package/lib/ruler/index.umd.min.js +3 -3
  52. package/lib/throttle/index.umd.js +3 -3
  53. package/lib/throttle/index.umd.min.js +3 -3
  54. package/lib/viewHandler/index.umd.js +3 -3
  55. package/lib/viewHandler/index.umd.min.js +3 -3
  56. package/miniprogram/ui-canvas/index.js +107 -107
  57. package/miniprogram/ui-canvas/index.json +4 -4
  58. package/miniprogram/ui-canvas/index.wxml +4 -4
  59. package/miniprogram/ui-canvas/index.wxss +5 -5
  60. package/package/Buffer/index.ts +2 -2
  61. package/package/Canvas/index.ts +2 -2
  62. package/package/Cardinal/index.ts +2 -2
  63. package/package/Eoap/index.ts +2 -2
  64. package/package/Geometry/index.ts +3 -0
  65. package/package/Hermite/index.ts +2 -2
  66. package/package/Matrix4/index.ts +2 -2
  67. package/package/Mercator/index.ts +2 -2
  68. package/package/OralCanvas/index.ts +2 -2
  69. package/package/OralWebGL/index.ts +2 -2
  70. package/package/SVG/index.ts +2 -2
  71. package/package/Shader/index.ts +39 -39
  72. package/package/Texture/index.ts +2 -2
  73. package/package/TreeLayout/index.ts +2 -2
  74. package/package/WebGL/index.ts +2 -2
  75. package/package/animation/index.ts +2 -2
  76. package/package/formatColor/index.ts +2 -2
  77. package/package/getLoopColors/index.ts +2 -2
  78. package/package/getWebGLContext/index.ts +39 -39
  79. package/package/index.ts +6 -1
  80. package/package/resizeObserver/index.ts +2 -2
  81. package/package/rotate/index.ts +2 -2
  82. package/package/ruler/index.ts +2 -2
  83. package/package/throttle/index.ts +2 -2
  84. package/package/viewHandler/index.ts +2 -2
  85. package/package.json +3 -1
  86. package/src/Canvas.ts +67 -67
  87. package/src/Eoap.ts +1 -1
  88. package/src/Geometry.ts +83 -0
  89. package/src/Matrix4/index.ts +2 -2
  90. package/src/Matrix4/move.ts +12 -12
  91. package/src/Matrix4/rotate.ts +15 -15
  92. package/src/Matrix4/scale.ts +11 -11
  93. package/src/Matrix4/transform.ts +64 -64
  94. package/src/Mercator.ts +3 -2
  95. package/src/SVG.ts +24 -24
  96. package/src/TreeLayout/index.ts +4 -3
  97. package/src/WebGL.ts +66 -66
  98. package/src/animation.ts +98 -98
  99. package/src/common/assemble.ts +22 -22
  100. package/src/common/canvas/arc.ts +50 -50
  101. package/src/common/canvas/config.ts +158 -158
  102. package/src/common/canvas/gradient.ts +29 -29
  103. package/src/common/canvas/index.ts +168 -168
  104. package/src/common/canvas/painter.ts +426 -426
  105. package/src/common/canvas/texts.ts +18 -18
  106. package/src/common/geometry/prism-horizontal.ts +33 -0
  107. package/src/common/geometry/prism-vertical.ts +40 -0
  108. package/src/common/geometry/sphere-fragment.ts +39 -0
  109. package/src/common/geometry/tool/circle.ts +12 -0
  110. package/src/common/mergeOption.ts +6 -6
  111. package/src/common/setStyle.ts +5 -5
  112. package/src/common/svg/config.ts +174 -174
  113. package/src/common/svg/index.ts +9 -1
  114. package/src/common/svg/tool.ts +44 -44
  115. package/src/common/tree/index.ts +25 -25
  116. package/src/common/tree/toInnerTree.ts +56 -56
  117. package/src/common/tree/toPlainTree.ts +131 -131
  118. package/src/common/webgl/buffer.ts +79 -79
  119. package/src/common/webgl/doDraw.ts +108 -108
  120. package/src/common/webgl/getColorFactory.ts +26 -26
  121. package/src/common/webgl/getShader.ts +48 -48
  122. package/src/common/webgl/getTexture.ts +11 -11
  123. package/src/common/webgl/getWebGLContext.ts +27 -27
  124. package/src/common/webgl/index.ts +223 -223
  125. package/src/common/webgl/shader.ts +75 -75
  126. package/src/common/webgl/texture.ts +96 -96
  127. package/src/formatColor.ts +44 -44
  128. package/src/getLoopColors.ts +42 -42
  129. package/src/interpolation/Cardinal.ts +110 -110
  130. package/src/interpolation/Hermite.ts +65 -65
  131. package/src/resizeObserver.ts +36 -36
  132. package/src/rotate.ts +1 -1
  133. package/src/ruler.ts +188 -188
  134. package/src/shader/fsColor.c +7 -7
  135. package/src/shader/fsColors.c +7 -7
  136. package/src/shader/fsCube.c +8 -8
  137. package/src/shader/fsImage.c +8 -8
  138. package/src/shader/vsColor.c +17 -17
  139. package/src/shader/vsColors.c +13 -13
  140. package/src/shader/vsCube.c +13 -13
  141. package/src/shader/vsImage.c +13 -13
  142. package/src/throttle.ts +51 -51
  143. package/src/viewHandler.ts +158 -158
  144. package/types/Buffer.d.ts +23 -23
  145. package/types/Canvas.d.ts +300 -300
  146. package/types/CanvasConfig.d.ts +24 -0
  147. package/types/CanvasOption.d.ts +7 -7
  148. package/types/Cardinal.d.ts +13 -13
  149. package/types/Geometry.d.ts +41 -0
  150. package/types/GeometryOption.d.ts +12 -0
  151. package/types/GeometryResult.d.ts +19 -0
  152. package/types/Gradient.d.ts +14 -14
  153. package/types/Hermite.d.ts +18 -18
  154. package/types/Map.d.ts +2 -2
  155. package/types/Matrix4.d.ts +4 -4
  156. package/types/Object3D.d.ts +114 -114
  157. package/types/SVG.d.ts +18 -13
  158. package/types/SVGConfig.d.ts +76 -60
  159. package/types/Scene3D.d.ts +6 -6
  160. package/types/Shader.d.ts +21 -21
  161. package/types/Texture.d.ts +16 -16
  162. package/types/Tree.d.ts +69 -69
  163. package/types/TreeConfig.d.ts +24 -24
  164. package/types/TreeLayout.d.ts +8 -2
  165. package/types/TreeOption.d.ts +48 -48
  166. package/types/WebGL.d.ts +38 -38
  167. package/types/WebGLOption.d.ts +7 -7
  168. package/types/animation.d.ts +6 -6
  169. package/types/formatColor.d.ts +2 -2
  170. package/types/getLoopColors.d.ts +2 -2
  171. package/types/getWebGLContext.d.ts +2 -2
  172. package/types/index.d.ts +15 -1
  173. package/types/painterConfig.d.ts +2 -2
  174. package/types/resizeObserver.d.ts +2 -2
  175. package/types/rotate.d.ts +1 -1
  176. package/types/ruler.d.ts +7 -7
  177. package/types/throttle.d.ts +4 -4
  178. package/types/throttleOption.d.ts +21 -21
  179. package/types/viewHandler.d.ts +13 -13
  180. package/uni-app/ui-canvas.vue +222 -222
package/types/Canvas.d.ts CHANGED
@@ -1,300 +1,300 @@
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
- * @param text 需要绘制的文字
13
- * @param x 绘制位置的x坐标
14
- * @param y 绘制位置的y坐标
15
- * @param deg 可选,文字旋转角度
16
- */
17
- fillText(text: any, x: number, y: number, deg?: number): this
18
-
19
- /**
20
- * 绘制一个空心文字
21
- * @param text 需要绘制的文字
22
- * @param x 绘制位置的x坐标
23
- * @param y 绘制位置的y坐标
24
- * @param deg 可选,文字旋转角度
25
- */
26
- strokeText(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
- fullText(text: any, x: number, y: number, deg?: number): this
36
-
37
- /**
38
- * 计算文字宽
39
- * @param text 需要计算宽的文字
40
- */
41
- textWidth(text: string): number
42
-
43
- /**
44
- * 绘制一个实心的圆弧
45
- * @param cx 圆弧的圆心x坐标
46
- * @param cy 圆弧的圆心y坐标
47
- * @param r1 圆弧的内半径
48
- * @param r2 圆弧的外半径
49
- * @param beginDeg 开始弧度
50
- * @param deg 跨越弧度
51
- */
52
- fillArc(
53
- cx: number,
54
- cy: number,
55
- r1: number,
56
- r2: number,
57
- beginDeg: number,
58
- deg: number
59
- ): this
60
-
61
- /**
62
- * 绘制一个空心的圆弧
63
- * @param cx 圆弧的圆心x坐标
64
- * @param cy 圆弧的圆心y坐标
65
- * @param r1 圆弧的内半径
66
- * @param r2 圆弧的外半径
67
- * @param beginDeg 开始弧度
68
- * @param deg 跨越弧度
69
- */
70
- strokeArc(
71
- cx: number,
72
- cy: number,
73
- r1: number,
74
- r2: number,
75
- beginDeg: number,
76
- deg: number
77
- ): this
78
-
79
- /**
80
- * 绘制一个空实心的圆弧
81
- * @param cx 圆弧的圆心x坐标
82
- * @param cy 圆弧的圆心y坐标
83
- * @param r1 圆弧的内半径
84
- * @param r2 圆弧的外半径
85
- * @param beginDeg 开始弧度
86
- * @param deg 跨越弧度
87
- */
88
- fullArc(
89
- cx: number,
90
- cy: number,
91
- r1: number,
92
- r2: number,
93
- beginDeg: number,
94
- deg: number
95
- ): this
96
-
97
- /**
98
- * 绘制一个实心的圆
99
- * @param cx 圆心x坐标
100
- * @param cy 圆心y坐标
101
- * @param r 圆的半径
102
- */
103
- fillCircle(cx: number, cy: number, r: number): this
104
-
105
- /**
106
- * 绘制一个空心的圆
107
- * @param cx 圆心x坐标
108
- * @param cy 圆心y坐标
109
- * @param r 圆的半径
110
- */
111
- strokeCircle(cx: number, cy: number, r: number): this
112
-
113
- /**
114
- * 绘制一个空实心的圆
115
- * @param cx 圆心x坐标
116
- * @param cy 圆心y坐标
117
- * @param r 圆的半径
118
- */
119
- fullCircle(cx: number, cy: number, r: number): this
120
-
121
- /**
122
- * 绘制一个实心的矩形
123
- * @param x 可选,区域左上角X坐标
124
- * @param y 可选,区域左上角y坐标
125
- * @param width 可选,区域的宽
126
- * @param height 可选,区域的高
127
- */
128
- fillRect(x: number, y: number, width: number, height: number): this
129
-
130
- /**
131
- * 绘制一个空心的矩形
132
- * @param x 可选,区域左上角X坐标
133
- * @param y 可选,区域左上角y坐标
134
- * @param width 可选,区域的宽
135
- * @param height 可选,区域的高
136
- */
137
- strokeRect(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
- fullRect(x: number, y: number, width: number, height: number): this
147
-
148
- /**
149
- * 开始一段独立的路径
150
- */
151
- beginPath(): this
152
-
153
- /**
154
- * 闭合当前路径,也就是路径首尾闭合
155
- */
156
- closePath(): this
157
-
158
- /**
159
- * 画笔移动到点(x, y),此时笔离开了画布
160
- */
161
- moveTo(x: number, y: number): this
162
-
163
- /**
164
- * 画笔移动到点(x, y),此时笔没有离开画布
165
- */
166
- lineTo(x: number, y: number): this
167
-
168
- /**
169
- * 以(cx, cy)为圆心,半径r,从弧度beginDeg开始,跨越弧度deg画弧,此时笔没有离开画布
170
- */
171
- arc(cx: number, cy: number, r: number, beginDeg: number, deg: number): this
172
-
173
- /**
174
- * 把当前路径包裹的区域填充颜色
175
- */
176
- fill(): this
177
-
178
- /**
179
- * 把当前路径上色(轮廓线)
180
- */
181
- stroke(): this
182
-
183
- /**
184
- * 把当前路径画上轮廓线并填充颜色到当前路径所包裹的区域
185
- */
186
- full(): this
187
-
188
- /**
189
- * 二次贝塞尔曲线到
190
- * @param cpx 控制点x坐标
191
- * @param cpy 控制点y坐标
192
- * @param x 终点x坐标
193
- * @param y 终点y坐标
194
- */
195
- quadraticCurveTo(cpx: number, cpy: number, x: number, y: number): this
196
-
197
- /**
198
- * 三次贝塞尔曲线到
199
- * @param cpx1 控制点1的x坐标
200
- * @param cpy1 控制点1的y坐标
201
- * @param cpx2 控制点2的x坐标
202
- * @param cpy2 控制点2的y坐标
203
- * @param x 终点x坐标
204
- * @param y 终点y坐标
205
- */
206
- bezierCurveTo(
207
- cp1x: number,
208
- cp1y: number,
209
- cp2x: number,
210
- cp2y: number,
211
- x: number,
212
- y: number
213
- ): this
214
-
215
- /**
216
- * 保存当前的绘图状态
217
- */
218
- save(): this
219
-
220
- /**
221
- * 恢复之前保存的绘图状态
222
- */
223
- restore(): this
224
-
225
- /**
226
- * 生成裁剪区域
227
- */
228
- clip(): this
229
-
230
- /**
231
- * 擦除画笔上的一个矩形区域
232
- * @param x 区域左上角X坐标
233
- * @param y 区域左上角y坐标
234
- * @param w 区域的宽
235
- * @param h 区域的高
236
- */
237
- clearRect(x: number, y: number, w: number, h: number): this
238
-
239
- /**
240
- * 是否绘制的内容只需要进行区域记录
241
- */
242
- onlyRegion(flag: boolean): this
243
-
244
- /**
245
- * 设置区域
246
- */
247
- setRegion(regionName: string | number): this
248
-
249
- /**
250
- * 获取区域
251
- */
252
- getRegion(x: number, y: number): Promise<string>
253
-
254
- /**
255
- * 把画布变成url
256
- */
257
- toDataURL(): Promise<string>
258
-
259
- /**
260
- * 获取原生画笔
261
- * @param isRegion 是否是区域
262
- */
263
- getContext(isRegion?: boolean): CanvasRenderingContext2D
264
-
265
- /**
266
- * 创建线性渐变
267
- * @param x0 起点
268
- * @param y0
269
- * @param x1 终点
270
- * @param y1
271
- */
272
- createLinearGradient(
273
- x0: number,
274
- y0: number,
275
- x1: number,
276
- y1: number
277
- ): GradientType
278
-
279
- /**
280
- * 创建环形渐变
281
- * @param cx 中心
282
- * @param cy
283
- * @param r 半径
284
- */
285
- createRadialGradient(cx: number, cy: number, r: number): GradientType
286
-
287
- /**
288
- * 获取指定位置颜色
289
- * @param x
290
- * @param y
291
- */
292
- getColor(x: number, y: number): string
293
-
294
- /**
295
- * 渲染绘制(uniapp独有)
296
- * @param reserve 是否保留当前画布上的内容
297
- * @param callback 绘制完成后回调
298
- */
299
- draw(reserve?: boolean, callback?: Function): void
300
- }
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
+ * @param text 需要绘制的文字
13
+ * @param x 绘制位置的x坐标
14
+ * @param y 绘制位置的y坐标
15
+ * @param deg 可选,文字旋转角度
16
+ */
17
+ fillText(text: any, x: number, y: number, deg?: number): this
18
+
19
+ /**
20
+ * 绘制一个空心文字
21
+ * @param text 需要绘制的文字
22
+ * @param x 绘制位置的x坐标
23
+ * @param y 绘制位置的y坐标
24
+ * @param deg 可选,文字旋转角度
25
+ */
26
+ strokeText(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
+ fullText(text: any, x: number, y: number, deg?: number): this
36
+
37
+ /**
38
+ * 计算文字宽
39
+ * @param text 需要计算宽的文字
40
+ */
41
+ textWidth(text: string): number
42
+
43
+ /**
44
+ * 绘制一个实心的圆弧
45
+ * @param cx 圆弧的圆心x坐标
46
+ * @param cy 圆弧的圆心y坐标
47
+ * @param r1 圆弧的内半径
48
+ * @param r2 圆弧的外半径
49
+ * @param beginDeg 开始弧度
50
+ * @param deg 跨越弧度
51
+ */
52
+ fillArc(
53
+ cx: number,
54
+ cy: number,
55
+ r1: number,
56
+ r2: number,
57
+ beginDeg: number,
58
+ deg: number
59
+ ): this
60
+
61
+ /**
62
+ * 绘制一个空心的圆弧
63
+ * @param cx 圆弧的圆心x坐标
64
+ * @param cy 圆弧的圆心y坐标
65
+ * @param r1 圆弧的内半径
66
+ * @param r2 圆弧的外半径
67
+ * @param beginDeg 开始弧度
68
+ * @param deg 跨越弧度
69
+ */
70
+ strokeArc(
71
+ cx: number,
72
+ cy: number,
73
+ r1: number,
74
+ r2: number,
75
+ beginDeg: number,
76
+ deg: number
77
+ ): this
78
+
79
+ /**
80
+ * 绘制一个空实心的圆弧
81
+ * @param cx 圆弧的圆心x坐标
82
+ * @param cy 圆弧的圆心y坐标
83
+ * @param r1 圆弧的内半径
84
+ * @param r2 圆弧的外半径
85
+ * @param beginDeg 开始弧度
86
+ * @param deg 跨越弧度
87
+ */
88
+ fullArc(
89
+ cx: number,
90
+ cy: number,
91
+ r1: number,
92
+ r2: number,
93
+ beginDeg: number,
94
+ deg: number
95
+ ): this
96
+
97
+ /**
98
+ * 绘制一个实心的圆
99
+ * @param cx 圆心x坐标
100
+ * @param cy 圆心y坐标
101
+ * @param r 圆的半径
102
+ */
103
+ fillCircle(cx: number, cy: number, r: number): this
104
+
105
+ /**
106
+ * 绘制一个空心的圆
107
+ * @param cx 圆心x坐标
108
+ * @param cy 圆心y坐标
109
+ * @param r 圆的半径
110
+ */
111
+ strokeCircle(cx: number, cy: number, r: number): this
112
+
113
+ /**
114
+ * 绘制一个空实心的圆
115
+ * @param cx 圆心x坐标
116
+ * @param cy 圆心y坐标
117
+ * @param r 圆的半径
118
+ */
119
+ fullCircle(cx: number, cy: number, r: number): this
120
+
121
+ /**
122
+ * 绘制一个实心的矩形
123
+ * @param x 可选,区域左上角X坐标
124
+ * @param y 可选,区域左上角y坐标
125
+ * @param width 可选,区域的宽
126
+ * @param height 可选,区域的高
127
+ */
128
+ fillRect(x: number, y: number, width: number, height: number): this
129
+
130
+ /**
131
+ * 绘制一个空心的矩形
132
+ * @param x 可选,区域左上角X坐标
133
+ * @param y 可选,区域左上角y坐标
134
+ * @param width 可选,区域的宽
135
+ * @param height 可选,区域的高
136
+ */
137
+ strokeRect(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
+ fullRect(x: number, y: number, width: number, height: number): this
147
+
148
+ /**
149
+ * 开始一段独立的路径
150
+ */
151
+ beginPath(): this
152
+
153
+ /**
154
+ * 闭合当前路径,也就是路径首尾闭合
155
+ */
156
+ closePath(): this
157
+
158
+ /**
159
+ * 画笔移动到点(x, y),此时笔离开了画布
160
+ */
161
+ moveTo(x: number, y: number): this
162
+
163
+ /**
164
+ * 画笔移动到点(x, y),此时笔没有离开画布
165
+ */
166
+ lineTo(x: number, y: number): this
167
+
168
+ /**
169
+ * 以(cx, cy)为圆心,半径r,从弧度beginDeg开始,跨越弧度deg画弧,此时笔没有离开画布
170
+ */
171
+ arc(cx: number, cy: number, r: number, beginDeg: number, deg: number): this
172
+
173
+ /**
174
+ * 把当前路径包裹的区域填充颜色
175
+ */
176
+ fill(): this
177
+
178
+ /**
179
+ * 把当前路径上色(轮廓线)
180
+ */
181
+ stroke(): this
182
+
183
+ /**
184
+ * 把当前路径画上轮廓线并填充颜色到当前路径所包裹的区域
185
+ */
186
+ full(): this
187
+
188
+ /**
189
+ * 二次贝塞尔曲线到
190
+ * @param cpx 控制点x坐标
191
+ * @param cpy 控制点y坐标
192
+ * @param x 终点x坐标
193
+ * @param y 终点y坐标
194
+ */
195
+ quadraticCurveTo(cpx: number, cpy: number, x: number, y: number): this
196
+
197
+ /**
198
+ * 三次贝塞尔曲线到
199
+ * @param cpx1 控制点1的x坐标
200
+ * @param cpy1 控制点1的y坐标
201
+ * @param cpx2 控制点2的x坐标
202
+ * @param cpy2 控制点2的y坐标
203
+ * @param x 终点x坐标
204
+ * @param y 终点y坐标
205
+ */
206
+ bezierCurveTo(
207
+ cp1x: number,
208
+ cp1y: number,
209
+ cp2x: number,
210
+ cp2y: number,
211
+ x: number,
212
+ y: number
213
+ ): this
214
+
215
+ /**
216
+ * 保存当前的绘图状态
217
+ */
218
+ save(): this
219
+
220
+ /**
221
+ * 恢复之前保存的绘图状态
222
+ */
223
+ restore(): this
224
+
225
+ /**
226
+ * 生成裁剪区域
227
+ */
228
+ clip(): this
229
+
230
+ /**
231
+ * 擦除画笔上的一个矩形区域
232
+ * @param x 区域左上角X坐标
233
+ * @param y 区域左上角y坐标
234
+ * @param w 区域的宽
235
+ * @param h 区域的高
236
+ */
237
+ clearRect(x: number, y: number, w: number, h: number): this
238
+
239
+ /**
240
+ * 是否绘制的内容只需要进行区域记录
241
+ */
242
+ onlyRegion(flag: boolean): this
243
+
244
+ /**
245
+ * 设置区域
246
+ */
247
+ setRegion(regionName: string | number): this
248
+
249
+ /**
250
+ * 获取区域
251
+ */
252
+ getRegion(x: number, y: number): Promise<string>
253
+
254
+ /**
255
+ * 把画布变成url
256
+ */
257
+ toDataURL(): Promise<string>
258
+
259
+ /**
260
+ * 获取原生画笔
261
+ * @param isRegion 是否是区域
262
+ */
263
+ getContext(isRegion?: boolean): CanvasRenderingContext2D
264
+
265
+ /**
266
+ * 创建线性渐变
267
+ * @param x0 起点
268
+ * @param y0
269
+ * @param x1 终点
270
+ * @param y1
271
+ */
272
+ createLinearGradient(
273
+ x0: number,
274
+ y0: number,
275
+ x1: number,
276
+ y1: number
277
+ ): GradientType
278
+
279
+ /**
280
+ * 创建环形渐变
281
+ * @param cx 中心
282
+ * @param cy
283
+ * @param r 半径
284
+ */
285
+ createRadialGradient(cx: number, cy: number, r: number): GradientType
286
+
287
+ /**
288
+ * 获取指定位置颜色
289
+ * @param x
290
+ * @param y
291
+ */
292
+ getColor(x: number, y: number): string
293
+
294
+ /**
295
+ * 渲染绘制(uniapp独有)
296
+ * @param reserve 是否保留当前画布上的内容
297
+ * @param callback 绘制完成后回调
298
+ */
299
+ draw(reserve?: boolean, callback?: Function): void
300
+ }
@@ -48,36 +48,60 @@ export default interface CanvasConfigType {
48
48
  * 文字大小,默认16
49
49
  */
50
50
  "fontSize"?: number
51
+
52
+ /**
53
+ * 已废弃,向下兼容,请用 fontSize 代替
54
+ */
51
55
  "font-size"?: number // 向下兼容
52
56
 
53
57
  /**
54
58
  * 字体,默认"sans-serif"
55
59
  */
56
60
  "fontFamily"?: string
61
+
62
+ /**
63
+ * 已废弃,向下兼容,请用 fontFamily 代替
64
+ */
57
65
  "font-family"?: string // 向下兼容
58
66
 
59
67
  /**
60
68
  * 字重,默认400
61
69
  */
62
70
  "fontWeight"?: number
71
+
72
+ /**
73
+ * 已废弃,向下兼容,请用 fontWeight 代替
74
+ */
63
75
  "font-weight"?: number // 向下兼容
64
76
 
65
77
  /**
66
78
  * 字类型,默认"normal"
67
79
  */
68
80
  "fontStyle"?: string
81
+
82
+ /**
83
+ * 已废弃,向下兼容,请用 fontStyle 代替
84
+ */
69
85
  "font-style"?: string // 向下兼容
70
86
 
71
87
  /**
72
88
  * 圆弧开始端闭合方式,默认"butt"直线闭合(还有"round"圆帽闭合,"-round"反圆帽闭合)
73
89
  */
74
90
  "arcStartCap"?: arcCapType
91
+
92
+ /**
93
+ * 已废弃,向下兼容,请用 arcStartCap 代替
94
+ */
75
95
  "arc-start-cap"?: string // 向下兼容
76
96
 
77
97
  /**
78
98
  * 圆弧结束端闭合方式,默认"butt"直线闭合(还有"round"圆帽闭合,"-round"反圆帽闭合)
79
99
  */
80
100
  "arcEndCap"?: arcCapType
101
+
102
+ /**
103
+ * 已废弃,向下兼容,请用 arcEndCap 代替
104
+ */
81
105
  "arc-end-cap"?: string // 向下兼容
82
106
 
83
107
  }
@@ -1,8 +1,8 @@
1
- export default interface CanvasOptionType {
2
-
3
- /**
4
- * 是否支持区域管理,默认true
5
- */
6
- region?: boolean
7
-
1
+ export default interface CanvasOptionType {
2
+
3
+ /**
4
+ * 是否支持区域管理,默认true
5
+ */
6
+ region?: boolean
7
+
8
8
  }