vislite 1.4.0 → 1.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.
- package/AUTHORS.txt +6 -6
- package/CHANGELOG +10 -0
- package/LICENSE +20 -20
- package/README.md +284 -284
- package/lib/BarLayout/index.es.js +1 -1
- package/lib/BarLayout/index.es.min.js +1 -1
- package/lib/Buffer/index.es.js +1 -1
- package/lib/Buffer/index.es.min.js +1 -1
- package/lib/Canvas/index.es.js +6 -5
- package/lib/Canvas/index.es.min.js +2 -2
- package/lib/Cardinal/index.es.js +1 -1
- package/lib/Cardinal/index.es.min.js +1 -1
- package/lib/Eoap/index.es.js +1 -1
- package/lib/Eoap/index.es.min.js +1 -1
- package/lib/Hermite/index.es.js +1 -1
- package/lib/Hermite/index.es.min.js +1 -1
- package/lib/MapCoordinate/index.es.js +1 -1
- package/lib/MapCoordinate/index.es.min.js +1 -1
- package/lib/Matrix4/index.es.js +1 -1
- package/lib/Matrix4/index.es.min.js +1 -1
- package/lib/Mercator/index.es.js +1 -1
- package/lib/Mercator/index.es.min.js +1 -1
- package/lib/PieLayout/index.es.js +1 -1
- package/lib/PieLayout/index.es.min.js +1 -1
- package/lib/RawCanvas/index.es.js +1 -1
- package/lib/RawCanvas/index.es.min.js +1 -1
- package/lib/SVG/index.es.js +1 -1
- package/lib/SVG/index.es.min.js +1 -1
- package/lib/Shader/index.es.js +1 -1
- package/lib/Shader/index.es.min.js +1 -1
- package/lib/Texture/index.es.js +1 -1
- package/lib/Texture/index.es.min.js +1 -1
- package/lib/TreeLayout/index.es.js +1 -1
- package/lib/TreeLayout/index.es.min.js +1 -1
- package/lib/animation/index.es.js +1 -1
- package/lib/animation/index.es.min.js +1 -1
- package/lib/assemble/index.es.js +1 -1
- package/lib/assemble/index.es.min.js +1 -1
- package/lib/getLoopColors/index.es.js +1 -1
- package/lib/getLoopColors/index.es.min.js +1 -1
- package/lib/getWebGLContext/index.es.js +1 -1
- package/lib/getWebGLContext/index.es.min.js +1 -1
- package/lib/index.umd.js +6 -5
- package/lib/index.umd.min.js +4 -4
- package/lib/initOption/index.es.js +1 -1
- package/lib/initOption/index.es.min.js +1 -1
- package/lib/mergeOption/index.es.js +1 -1
- package/lib/mergeOption/index.es.min.js +1 -1
- package/lib/move/index.es.js +1 -1
- package/lib/move/index.es.min.js +1 -1
- package/lib/rotate/index.es.js +1 -1
- package/lib/rotate/index.es.min.js +1 -1
- package/lib/ruler/index.es.js +1 -1
- package/lib/ruler/index.es.min.js +1 -1
- package/lib/scale/index.es.js +1 -1
- package/lib/scale/index.es.min.js +1 -1
- package/lib/throttle/index.es.js +1 -1
- package/lib/throttle/index.es.min.js +1 -1
- package/minialipay/ui-canvas/drawImage.js +35 -35
- package/minialipay/ui-canvas/index.acss +4 -4
- package/minialipay/ui-canvas/index.axml +3 -3
- package/minialipay/ui-canvas/index.d.ts +1 -1
- package/minialipay/ui-canvas/index.js +100 -100
- package/minialipay/ui-canvas/index.json +6 -6
- package/miniprogram/ui-canvas/drawImage.js +35 -35
- package/miniprogram/ui-canvas/index.js +125 -117
- package/miniprogram/ui-canvas/index.json +4 -4
- package/miniprogram/ui-canvas/index.wxml +4 -4
- package/miniprogram/ui-canvas/index.wxss +5 -5
- package/package/Buffer/index.ts +2 -2
- package/package/Canvas/index.ts +2 -2
- package/package/Cardinal/index.ts +2 -2
- package/package/Eoap/index.ts +2 -2
- package/package/Hermite/index.ts +2 -2
- package/package/MapCoordinate/index.ts +2 -2
- package/package/Matrix4/index.ts +2 -2
- package/package/Mercator/index.ts +2 -2
- package/package/RawCanvas/index.ts +2 -2
- package/package/SVG/index.ts +2 -2
- package/package/Shader/index.ts +2 -2
- package/package/Texture/index.ts +2 -2
- package/package/TreeLayout/index.ts +2 -2
- package/package/assemble/index.ts +2 -2
- package/package/getLoopColors/index.ts +2 -2
- package/package/getWebGLContext/index.ts +40 -40
- package/package/initOption/index.ts +2 -2
- package/package/mergeOption/index.ts +2 -2
- package/package/move/index.ts +2 -2
- package/package/rotate/index.ts +2 -2
- package/package/ruler/index.ts +2 -2
- package/package/scale/index.ts +2 -2
- package/package.json +1 -1
- package/src/Canvas.ts +89 -84
- package/src/Eoap.ts +66 -66
- package/src/Matrix4/index.ts +84 -84
- package/src/Matrix4/move.ts +12 -12
- package/src/Matrix4/rotate.ts +15 -15
- package/src/Matrix4/scale.ts +11 -11
- package/src/Matrix4/transform.ts +64 -64
- package/src/Mercator.ts +27 -27
- package/src/common/assemble.ts +22 -22
- package/src/common/canvas/arc.ts +51 -51
- package/src/common/canvas/config.ts +176 -176
- package/src/common/canvas/default.ts +64 -64
- package/src/common/canvas/index.ts +188 -188
- package/src/common/canvas/painter.ts +443 -443
- package/src/common/canvas/texts.ts +18 -18
- package/src/common/map/getBoundary.ts +15 -15
- package/src/common/map/tool.ts +29 -29
- package/src/common/option.ts +29 -29
- package/src/common/setStyle.ts +5 -5
- package/src/common/svg/config.ts +213 -213
- package/src/common/svg/tool.ts +51 -51
- package/src/common/tree/index.ts +25 -25
- package/src/common/tree/toInnerTree.ts +61 -61
- package/src/common/type.ts +26 -26
- package/src/common/webgl/buffer.ts +79 -79
- package/src/common/webgl/getWebGLContext.ts +45 -45
- package/src/common/webgl/shader.ts +75 -75
- package/src/coordinate/MapCoordinate.ts +80 -80
- package/src/getLoopColors.ts +42 -42
- package/src/interpolation/Cardinal.ts +110 -110
- package/src/interpolation/Hermite.ts +65 -65
- package/src/move.ts +7 -7
- package/src/rotate.ts +7 -7
- package/src/ruler.ts +209 -209
- package/src/scale.ts +6 -6
- package/types/Buffer.d.ts +23 -23
- package/types/Canvas.d.ts +352 -352
- package/types/CanvasConfig.d.ts +88 -88
- package/types/CanvasOption.d.ts +13 -8
- package/types/CanvasOpts.d.ts +9 -9
- package/types/Cardinal.d.ts +13 -13
- package/types/Gradient.d.ts +14 -14
- package/types/Hermite.d.ts +18 -18
- package/types/Map.d.ts +9 -9
- package/types/MapConfig.d.ts +27 -27
- package/types/MapCoordinate.d.ts +22 -22
- package/types/Matrix4.d.ts +47 -47
- package/types/SVGConfig.d.ts +71 -71
- package/types/Shader.d.ts +16 -16
- package/types/Texture.d.ts +16 -16
- package/types/Tree.d.ts +74 -74
- package/types/TreeConfig.d.ts +36 -36
- package/types/TreeLayout.d.ts +59 -59
- package/types/TreeOption.d.ts +48 -48
- package/types/assemble.d.ts +5 -5
- package/types/getLoopColors.d.ts +5 -5
- package/types/getWebGLContext.d.ts +7 -7
- package/types/move.d.ts +5 -5
- package/types/option.d.ts +12 -12
- package/types/painterConfig.d.ts +4 -4
- package/types/rotate.d.ts +5 -5
- package/types/ruler.d.ts +10 -10
- package/types/scale.d.ts +5 -5
- package/types/ui-canvas.d.ts +4 -4
- package/types/uni-canvas.d.ts +3 -3
- package/uni-app/drawImage.js +19 -19
- package/uni-app/ui-canvas.vue +295 -284
package/types/Canvas.d.ts
CHANGED
|
@@ -1,352 +1,352 @@
|
|
|
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(): 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
|
-
*/
|
|
275
|
-
toDataURL(): Promise<string>
|
|
276
|
-
|
|
277
|
-
/**
|
|
278
|
-
* 获取原生画笔
|
|
279
|
-
* @param isRegion 是否是区域
|
|
280
|
-
*/
|
|
281
|
-
getContext(isRegion?: boolean): CanvasRenderingContext2D | null
|
|
282
|
-
|
|
283
|
-
/**
|
|
284
|
-
* 获取画布信息
|
|
285
|
-
*/
|
|
286
|
-
getInfo(): {
|
|
287
|
-
width: number
|
|
288
|
-
height: number
|
|
289
|
-
}
|
|
290
|
-
|
|
291
|
-
/**
|
|
292
|
-
* 创建线性渐变
|
|
293
|
-
* @param x0 起点
|
|
294
|
-
* @param y0
|
|
295
|
-
* @param x1 终点
|
|
296
|
-
* @param y1
|
|
297
|
-
*/
|
|
298
|
-
createLinearGradient(
|
|
299
|
-
x0: number,
|
|
300
|
-
y0: number,
|
|
301
|
-
x1: number,
|
|
302
|
-
y1: number
|
|
303
|
-
): GradientType<CanvasGradient>
|
|
304
|
-
|
|
305
|
-
/**
|
|
306
|
-
* 创建环形渐变
|
|
307
|
-
* @param cx 中心
|
|
308
|
-
* @param cy
|
|
309
|
-
* @param r 半径
|
|
310
|
-
*/
|
|
311
|
-
createRadialGradient(cx: number, cy: number, r: number): GradientType<CanvasGradient>
|
|
312
|
-
|
|
313
|
-
/**
|
|
314
|
-
* 创建角度渐变
|
|
315
|
-
* @param cx 中心
|
|
316
|
-
* @param cy
|
|
317
|
-
* @param beginDeg 开始弧度
|
|
318
|
-
* @param deg 跨越弧度,可选,默认2PI
|
|
319
|
-
*/
|
|
320
|
-
createConicGradient(cx: number, cy: number, beginDeg: number, deg?: number): GradientType<CanvasGradient>
|
|
321
|
-
|
|
322
|
-
/**
|
|
323
|
-
* 获取指定位置颜色
|
|
324
|
-
* @param x
|
|
325
|
-
* @param y
|
|
326
|
-
*/
|
|
327
|
-
getColor(x: number, y: number): string
|
|
328
|
-
|
|
329
|
-
/**
|
|
330
|
-
* 渲染绘制(uniapp独有)
|
|
331
|
-
* @param reserve 是否保留当前画布上的内容
|
|
332
|
-
* @param callback 绘制完成后回调
|
|
333
|
-
*/
|
|
334
|
-
draw(reserve?: boolean, callback?: Function): void
|
|
335
|
-
|
|
336
|
-
/**
|
|
337
|
-
* 绘制图片
|
|
338
|
-
* @param img 需要绘制的图片
|
|
339
|
-
* @param x
|
|
340
|
-
* @param y
|
|
341
|
-
* @param w
|
|
342
|
-
* @param h
|
|
343
|
-
*/
|
|
344
|
-
drawImage(img: CanvasImageSource | string, x: number, y: number, w: number, h: number, isUniapp?: boolean): Promise<any>
|
|
345
|
-
|
|
346
|
-
/**
|
|
347
|
-
* 绑定事件(仅H5可用)
|
|
348
|
-
* @param eventName 事件名称
|
|
349
|
-
* @param callback 回调函数
|
|
350
|
-
*/
|
|
351
|
-
bind(eventName: string, callback: (regionName: string, x: number, y: number) => void): this
|
|
352
|
-
}
|
|
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(): 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
|
+
*/
|
|
275
|
+
toDataURL(): Promise<string>
|
|
276
|
+
|
|
277
|
+
/**
|
|
278
|
+
* 获取原生画笔
|
|
279
|
+
* @param isRegion 是否是区域
|
|
280
|
+
*/
|
|
281
|
+
getContext(isRegion?: boolean): CanvasRenderingContext2D | null
|
|
282
|
+
|
|
283
|
+
/**
|
|
284
|
+
* 获取画布信息
|
|
285
|
+
*/
|
|
286
|
+
getInfo(): {
|
|
287
|
+
width: number
|
|
288
|
+
height: number
|
|
289
|
+
}
|
|
290
|
+
|
|
291
|
+
/**
|
|
292
|
+
* 创建线性渐变
|
|
293
|
+
* @param x0 起点
|
|
294
|
+
* @param y0
|
|
295
|
+
* @param x1 终点
|
|
296
|
+
* @param y1
|
|
297
|
+
*/
|
|
298
|
+
createLinearGradient(
|
|
299
|
+
x0: number,
|
|
300
|
+
y0: number,
|
|
301
|
+
x1: number,
|
|
302
|
+
y1: number
|
|
303
|
+
): GradientType<CanvasGradient>
|
|
304
|
+
|
|
305
|
+
/**
|
|
306
|
+
* 创建环形渐变
|
|
307
|
+
* @param cx 中心
|
|
308
|
+
* @param cy
|
|
309
|
+
* @param r 半径
|
|
310
|
+
*/
|
|
311
|
+
createRadialGradient(cx: number, cy: number, r: number): GradientType<CanvasGradient>
|
|
312
|
+
|
|
313
|
+
/**
|
|
314
|
+
* 创建角度渐变
|
|
315
|
+
* @param cx 中心
|
|
316
|
+
* @param cy
|
|
317
|
+
* @param beginDeg 开始弧度
|
|
318
|
+
* @param deg 跨越弧度,可选,默认2PI
|
|
319
|
+
*/
|
|
320
|
+
createConicGradient(cx: number, cy: number, beginDeg: number, deg?: number): GradientType<CanvasGradient>
|
|
321
|
+
|
|
322
|
+
/**
|
|
323
|
+
* 获取指定位置颜色
|
|
324
|
+
* @param x
|
|
325
|
+
* @param y
|
|
326
|
+
*/
|
|
327
|
+
getColor(x: number, y: number): string
|
|
328
|
+
|
|
329
|
+
/**
|
|
330
|
+
* 渲染绘制(uniapp独有)
|
|
331
|
+
* @param reserve 是否保留当前画布上的内容
|
|
332
|
+
* @param callback 绘制完成后回调
|
|
333
|
+
*/
|
|
334
|
+
draw(reserve?: boolean, callback?: Function): void
|
|
335
|
+
|
|
336
|
+
/**
|
|
337
|
+
* 绘制图片
|
|
338
|
+
* @param img 需要绘制的图片
|
|
339
|
+
* @param x
|
|
340
|
+
* @param y
|
|
341
|
+
* @param w
|
|
342
|
+
* @param h
|
|
343
|
+
*/
|
|
344
|
+
drawImage(img: CanvasImageSource | string, x: number, y: number, w: number, h: number, isUniapp?: boolean): Promise<any>
|
|
345
|
+
|
|
346
|
+
/**
|
|
347
|
+
* 绑定事件(仅H5可用)
|
|
348
|
+
* @param eventName 事件名称
|
|
349
|
+
* @param callback 回调函数
|
|
350
|
+
*/
|
|
351
|
+
bind(eventName: string, callback: (regionName: string, x: number, y: number) => void): this
|
|
352
|
+
}
|