vislite 0.2.0 → 0.3.0-alpha.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 +19 -1
- package/LICENSE +20 -20
- package/README.md +53 -53
- package/lib/Canvas/index.umd.js +91 -14
- package/lib/Canvas/index.umd.min.js +7 -3
- package/lib/Cardinal/index.umd.js +6 -2
- package/lib/Cardinal/index.umd.min.js +6 -2
- package/lib/Eoap/index.umd.js +6 -2
- package/lib/Eoap/index.umd.min.js +6 -2
- package/lib/Hermite/index.umd.js +6 -2
- package/lib/Hermite/index.umd.min.js +6 -2
- package/lib/Matrix4/index.umd.js +6 -2
- package/lib/Matrix4/index.umd.min.js +6 -2
- package/lib/Mercator/index.umd.js +6 -2
- package/lib/Mercator/index.umd.min.js +6 -2
- package/lib/OralCanvas/index.es.js +91 -14
- package/lib/OralCanvas/index.es.min.js +7 -3
- package/lib/OralWebGL/index.es.js +8 -2
- package/lib/OralWebGL/index.es.min.js +6 -2
- package/lib/SVG/index.umd.js +82 -62
- package/lib/SVG/index.umd.min.js +7 -3
- package/lib/WebGL/index.umd.js +6 -2
- package/lib/WebGL/index.umd.min.js +6 -2
- package/lib/animation/index.umd.js +6 -2
- package/lib/animation/index.umd.min.js +6 -2
- package/lib/getLoopColors/index.umd.js +6 -2
- package/lib/getLoopColors/index.umd.min.js +6 -2
- package/lib/index.umd.js +167 -74
- package/lib/index.umd.min.js +7 -3
- package/lib/rotate/index.umd.js +6 -2
- package/lib/rotate/index.umd.min.js +6 -2
- package/lib/ruler/index.umd.js +6 -2
- package/lib/ruler/index.umd.min.js +6 -2
- package/lib/viewHandler/index.umd.js +6 -2
- package/lib/viewHandler/index.umd.min.js +6 -2
- 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/Canvas/index.ts +1 -1
- package/package/Cardinal/index.ts +2 -2
- package/package/Eoap/index.ts +2 -2
- package/package/Hermite/index.ts +2 -2
- package/package/Matrix4/index.ts +2 -2
- package/package/OralCanvas/index.ts +1 -1
- package/package/OralWebGL/index.ts +1 -1
- package/package/SVG/index.ts +2 -2
- package/package/animation/index.ts +2 -2
- package/package/getLoopColors/index.ts +2 -2
- package/package/rotate/index.ts +2 -2
- package/package/ruler/index.ts +2 -2
- package/package.json +4 -4
- package/src/Matrix4/index.ts +76 -76
- 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/animation.ts +99 -99
- package/src/common/canvas/arc.ts +50 -50
- package/src/common/canvas/config.ts +142 -61
- package/src/common/canvas/gradient.ts +29 -0
- package/src/common/canvas/index.ts +122 -82
- package/src/common/canvas/painter.ts +12 -0
- package/src/common/setStyle.ts +5 -5
- package/src/common/svg/config.ts +173 -128
- package/src/common/svg/index.ts +315 -266
- package/src/common/svg/tool.ts +43 -43
- package/src/getLoopColors.ts +42 -42
- package/src/interpolation/Cardinal.ts +91 -91
- package/src/interpolation/Hermite.ts +65 -65
- package/src/rotate.ts +7 -7
- package/src/ruler.ts +99 -99
- package/types/Canvas.d.ts +282 -221
- package/types/CanvasConfig.d.ts +3 -3
- package/types/Cardinal.d.ts +13 -13
- package/types/Gradient.d.ts +15 -0
- package/types/Hermite.d.ts +18 -18
- package/types/Matrix4.d.ts +42 -42
- package/types/SVG.d.ts +210 -210
- package/types/animation.d.ts +6 -6
- package/types/getLoopColors.d.ts +2 -2
- package/types/rotate.d.ts +2 -2
- package/types/ruler.d.ts +2 -2
- package/uni-app/ui-canvas.vue +22 -46
package/types/Matrix4.d.ts
CHANGED
|
@@ -1,43 +1,43 @@
|
|
|
1
|
-
export default interface Matrix4Type {
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* 返回matrix4当前记录的内部矩阵
|
|
5
|
-
*/
|
|
6
|
-
value(): number[]
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* 两个矩阵相乘
|
|
10
|
-
* @param newMatrix4
|
|
11
|
-
* @param flag 可选,表示相乘位置,默认false,表示左乘
|
|
12
|
-
*/
|
|
13
|
-
multiply(newMatrix4: number[], flag?: boolean): this
|
|
14
|
-
|
|
15
|
-
/**
|
|
16
|
-
* 把变换矩阵作用在具体的点上
|
|
17
|
-
*/
|
|
18
|
-
use(x: number, y: number, z?: number, w?: number): number[]
|
|
19
|
-
|
|
20
|
-
/**
|
|
21
|
-
* 沿着向量(a, b, c)方向移动距离dis
|
|
22
|
-
* (其中c可以不传,默认0)
|
|
23
|
-
*/
|
|
24
|
-
move(dis: number, a: number, b: number, c?: number): this
|
|
25
|
-
|
|
26
|
-
/**
|
|
27
|
-
* 以点(cx, cy, cz)为中心,分别在x、y和z方向上缩放xTimes、yTimes和zTimes倍
|
|
28
|
-
* (其中cx、cy和cz都可以不传递,默认0)
|
|
29
|
-
*/
|
|
30
|
-
scale(xTimes: number, yTimes: number, zTimes: number, cx?: number, cy?: number, cz?: number): this
|
|
31
|
-
|
|
32
|
-
/**
|
|
33
|
-
* 围绕射线(a1, b1, c1) -> (a2, b2, c2)旋转deg度
|
|
34
|
-
* (方向由右手法则确定)
|
|
35
|
-
*
|
|
36
|
-
* a1、b1、c1、a2、b2和c2这6个值在设置的时候,不是一定需要全部设置,还有以下可选:
|
|
37
|
-
*
|
|
38
|
-
* 1)只设置了a1和b1,表示在xoy平面围绕(a1, b1)旋转
|
|
39
|
-
* 2)设置三个点(设置不足六个点都认为只设置了三个点),表示围绕从原点出发的射线旋转
|
|
40
|
-
*/
|
|
41
|
-
rotate(deg: number, a1: number, b1: number, c1?: number, a2?: number, b2?: number, c2?: number): this
|
|
42
|
-
|
|
1
|
+
export default interface Matrix4Type {
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* 返回matrix4当前记录的内部矩阵
|
|
5
|
+
*/
|
|
6
|
+
value(): number[]
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* 两个矩阵相乘
|
|
10
|
+
* @param newMatrix4
|
|
11
|
+
* @param flag 可选,表示相乘位置,默认false,表示左乘
|
|
12
|
+
*/
|
|
13
|
+
multiply(newMatrix4: number[], flag?: boolean): this
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* 把变换矩阵作用在具体的点上
|
|
17
|
+
*/
|
|
18
|
+
use(x: number, y: number, z?: number, w?: number): number[]
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* 沿着向量(a, b, c)方向移动距离dis
|
|
22
|
+
* (其中c可以不传,默认0)
|
|
23
|
+
*/
|
|
24
|
+
move(dis: number, a: number, b: number, c?: number): this
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* 以点(cx, cy, cz)为中心,分别在x、y和z方向上缩放xTimes、yTimes和zTimes倍
|
|
28
|
+
* (其中cx、cy和cz都可以不传递,默认0)
|
|
29
|
+
*/
|
|
30
|
+
scale(xTimes: number, yTimes: number, zTimes: number, cx?: number, cy?: number, cz?: number): this
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* 围绕射线(a1, b1, c1) -> (a2, b2, c2)旋转deg度
|
|
34
|
+
* (方向由右手法则确定)
|
|
35
|
+
*
|
|
36
|
+
* a1、b1、c1、a2、b2和c2这6个值在设置的时候,不是一定需要全部设置,还有以下可选:
|
|
37
|
+
*
|
|
38
|
+
* 1)只设置了a1和b1,表示在xoy平面围绕(a1, b1)旋转
|
|
39
|
+
* 2)设置三个点(设置不足六个点都认为只设置了三个点),表示围绕从原点出发的射线旋转
|
|
40
|
+
*/
|
|
41
|
+
rotate(deg: number, a1: number, b1: number, c1?: number, a2?: number, b2?: number, c2?: number): this
|
|
42
|
+
|
|
43
43
|
}
|
package/types/SVG.d.ts
CHANGED
|
@@ -1,211 +1,211 @@
|
|
|
1
|
-
import SVGConfigType from './SVGConfig'
|
|
2
|
-
|
|
3
|
-
export default interface SVGType {
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* 配置画笔
|
|
7
|
-
*/
|
|
8
|
-
config(configs: SVGConfigType): this
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* 标记应用节点
|
|
12
|
-
*/
|
|
13
|
-
useEl(el: SVGElement): this
|
|
14
|
-
|
|
15
|
-
/**
|
|
16
|
-
* 获取当前应用的节点
|
|
17
|
-
*/
|
|
18
|
-
getEl(): SVGElement
|
|
19
|
-
|
|
20
|
-
/**
|
|
21
|
-
* 追加节点
|
|
22
|
-
*/
|
|
23
|
-
appendEl(el: string | SVGElement, context?: SVGElement): this
|
|
24
|
-
|
|
25
|
-
/**
|
|
26
|
-
* 追加绘制板
|
|
27
|
-
*/
|
|
28
|
-
appendBoard(el: string | SVGElement, context?: SVGElement): this
|
|
29
|
-
|
|
30
|
-
/**
|
|
31
|
-
* 删除当前维护的节点
|
|
32
|
-
*/
|
|
33
|
-
remove(): this
|
|
34
|
-
|
|
35
|
-
/**
|
|
36
|
-
* 设置或获取节点属性
|
|
37
|
-
*/
|
|
38
|
-
attr(params?: any): any
|
|
39
|
-
|
|
40
|
-
/**
|
|
41
|
-
* 绘制一个实心文字
|
|
42
|
-
* @param text 需要绘制的文字
|
|
43
|
-
* @param x 绘制位置的x坐标
|
|
44
|
-
* @param y 绘制位置的y坐标
|
|
45
|
-
* @param deg 可选,文字旋转角度
|
|
46
|
-
*/
|
|
47
|
-
fillText(text: any, x: number, y: number, deg?: number): this
|
|
48
|
-
|
|
49
|
-
/**
|
|
50
|
-
* 绘制一个空心文字
|
|
51
|
-
* @param text 需要绘制的文字
|
|
52
|
-
* @param x 绘制位置的x坐标
|
|
53
|
-
* @param y 绘制位置的y坐标
|
|
54
|
-
* @param deg 可选,文字旋转角度
|
|
55
|
-
*/
|
|
56
|
-
strokeText(text: any, x: number, y: number, deg?: number): this
|
|
57
|
-
|
|
58
|
-
/**
|
|
59
|
-
* 绘制一个空实心文字
|
|
60
|
-
* @param text 需要绘制的文字
|
|
61
|
-
* @param x 绘制位置的x坐标
|
|
62
|
-
* @param y 绘制位置的y坐标
|
|
63
|
-
* @param deg 可选,文字旋转角度
|
|
64
|
-
*/
|
|
65
|
-
fullText(text: any, x: number, y: number, deg?: number): this
|
|
66
|
-
|
|
67
|
-
/**
|
|
68
|
-
* 绘制一个实心的圆弧
|
|
69
|
-
* @param cx 圆弧的圆心x坐标
|
|
70
|
-
* @param cy 圆弧的圆心y坐标
|
|
71
|
-
* @param r1 圆弧的内半径
|
|
72
|
-
* @param r2 圆弧的外半径
|
|
73
|
-
* @param beginDeg 开始弧度
|
|
74
|
-
* @param deg 跨越弧度
|
|
75
|
-
*/
|
|
76
|
-
fillArc(cx: number, cy: number, r1: number, r2: number, beginDeg: number, deg: number): this
|
|
77
|
-
|
|
78
|
-
/**
|
|
79
|
-
* 绘制一个空心的圆弧
|
|
80
|
-
* @param cx 圆弧的圆心x坐标
|
|
81
|
-
* @param cy 圆弧的圆心y坐标
|
|
82
|
-
* @param r1 圆弧的内半径
|
|
83
|
-
* @param r2 圆弧的外半径
|
|
84
|
-
* @param beginDeg 开始弧度
|
|
85
|
-
* @param deg 跨越弧度
|
|
86
|
-
*/
|
|
87
|
-
strokeArc(cx: number, cy: number, r1: number, r2: number, beginDeg: number, deg: number): this
|
|
88
|
-
|
|
89
|
-
/**
|
|
90
|
-
* 绘制一个空实心的圆弧
|
|
91
|
-
* @param cx 圆弧的圆心x坐标
|
|
92
|
-
* @param cy 圆弧的圆心y坐标
|
|
93
|
-
* @param r1 圆弧的内半径
|
|
94
|
-
* @param r2 圆弧的外半径
|
|
95
|
-
* @param beginDeg 开始弧度
|
|
96
|
-
* @param deg 跨越弧度
|
|
97
|
-
*/
|
|
98
|
-
fullArc(cx: number, cy: number, r1: number, r2: number, beginDeg: number, deg: number): this
|
|
99
|
-
|
|
100
|
-
/**
|
|
101
|
-
* 绘制一个实心的圆
|
|
102
|
-
* @param cx 圆心x坐标
|
|
103
|
-
* @param cy 圆心y坐标
|
|
104
|
-
* @param r 圆的半径
|
|
105
|
-
*/
|
|
106
|
-
fillCircle(cx: number, cy: number, r: number): this
|
|
107
|
-
|
|
108
|
-
/**
|
|
109
|
-
* 绘制一个空心的圆
|
|
110
|
-
* @param cx 圆心x坐标
|
|
111
|
-
* @param cy 圆心y坐标
|
|
112
|
-
* @param r 圆的半径
|
|
113
|
-
*/
|
|
114
|
-
strokeCircle(cx: number, cy: number, r: number): this
|
|
115
|
-
|
|
116
|
-
/**
|
|
117
|
-
* 绘制一个空实心的圆
|
|
118
|
-
* @param cx 圆心x坐标
|
|
119
|
-
* @param cy 圆心y坐标
|
|
120
|
-
* @param r 圆的半径
|
|
121
|
-
*/
|
|
122
|
-
fullCircle(cx: number, cy: number, r: number): this
|
|
123
|
-
|
|
124
|
-
/**
|
|
125
|
-
* 绘制一个实心的矩形
|
|
126
|
-
* @param x 可选,区域左上角X坐标
|
|
127
|
-
* @param y 可选,区域左上角y坐标
|
|
128
|
-
* @param width 可选,区域的宽
|
|
129
|
-
* @param height 可选,区域的高
|
|
130
|
-
*/
|
|
131
|
-
fillRect(x: number, y: number, width: number, height: number): this
|
|
132
|
-
|
|
133
|
-
/**
|
|
134
|
-
* 绘制一个空心的矩形
|
|
135
|
-
* @param x 可选,区域左上角X坐标
|
|
136
|
-
* @param y 可选,区域左上角y坐标
|
|
137
|
-
* @param width 可选,区域的宽
|
|
138
|
-
* @param height 可选,区域的高
|
|
139
|
-
*/
|
|
140
|
-
strokeRect(x: number, y: number, width: number, height: number): this
|
|
141
|
-
|
|
142
|
-
/**
|
|
143
|
-
* 绘制一个空实心的矩形
|
|
144
|
-
* @param x 可选,区域左上角X坐标
|
|
145
|
-
* @param y 可选,区域左上角y坐标
|
|
146
|
-
* @param width 可选,区域的宽
|
|
147
|
-
* @param height 可选,区域的高
|
|
148
|
-
*/
|
|
149
|
-
fullRect(x: number, y: number, width: number, height: number): this
|
|
150
|
-
|
|
151
|
-
/**
|
|
152
|
-
* 开始一段独立的路径
|
|
153
|
-
*/
|
|
154
|
-
beginPath(): this
|
|
155
|
-
|
|
156
|
-
/**
|
|
157
|
-
* 闭合当前路径,也就是路径首尾闭合
|
|
158
|
-
*/
|
|
159
|
-
closePath(): this
|
|
160
|
-
|
|
161
|
-
/**
|
|
162
|
-
* 画笔移动到点(x, y),此时笔离开了画布
|
|
163
|
-
*/
|
|
164
|
-
moveTo(x: number, y: number): this
|
|
165
|
-
|
|
166
|
-
/**
|
|
167
|
-
* 画笔移动到点(x, y),此时笔没有离开画布
|
|
168
|
-
*/
|
|
169
|
-
lineTo(x: number, y: number): this
|
|
170
|
-
|
|
171
|
-
/**
|
|
172
|
-
* 以(cx, cy)为圆心,半径r,从弧度beginDeg开始,跨越弧度deg画弧,此时笔没有离开画布
|
|
173
|
-
*/
|
|
174
|
-
arc(cx: number, cy: number, r: number, beginDeg: number, deg: number): this
|
|
175
|
-
|
|
176
|
-
/**
|
|
177
|
-
* 二次贝塞尔曲线到
|
|
178
|
-
* @param cpx 控制点x坐标
|
|
179
|
-
* @param cpy 控制点y坐标
|
|
180
|
-
* @param x 终点x坐标
|
|
181
|
-
* @param y 终点y坐标
|
|
182
|
-
*/
|
|
183
|
-
quadraticCurveTo(cpx: number, cpy: number, x: number, y: number): this
|
|
184
|
-
|
|
185
|
-
/**
|
|
186
|
-
* 三次贝塞尔曲线到
|
|
187
|
-
* @param cpx1 控制点1的x坐标
|
|
188
|
-
* @param cpy1 控制点1的y坐标
|
|
189
|
-
* @param cpx2 控制点2的x坐标
|
|
190
|
-
* @param cpy2 控制点2的y坐标
|
|
191
|
-
* @param x 终点x坐标
|
|
192
|
-
* @param y 终点y坐标
|
|
193
|
-
*/
|
|
194
|
-
bezierCurveTo(cp1x: number, cp1y: number, cp2x: number, cp2y: number, x: number, y: number): this
|
|
195
|
-
|
|
196
|
-
/**
|
|
197
|
-
* 把当前路径包裹的区域填充颜色
|
|
198
|
-
*/
|
|
199
|
-
fill(): this
|
|
200
|
-
|
|
201
|
-
/**
|
|
202
|
-
* 把当前路径上色(轮廓线)
|
|
203
|
-
*/
|
|
204
|
-
stroke(): this
|
|
205
|
-
|
|
206
|
-
/**
|
|
207
|
-
* 把当前路径画上轮廓线并填充颜色到当前路径所包裹的区域
|
|
208
|
-
*/
|
|
209
|
-
full(): this
|
|
210
|
-
|
|
1
|
+
import SVGConfigType from './SVGConfig'
|
|
2
|
+
|
|
3
|
+
export default interface SVGType {
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* 配置画笔
|
|
7
|
+
*/
|
|
8
|
+
config(configs: SVGConfigType): this
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* 标记应用节点
|
|
12
|
+
*/
|
|
13
|
+
useEl(el: SVGElement): this
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* 获取当前应用的节点
|
|
17
|
+
*/
|
|
18
|
+
getEl(): SVGElement
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* 追加节点
|
|
22
|
+
*/
|
|
23
|
+
appendEl(el: string | SVGElement, context?: SVGElement): this
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* 追加绘制板
|
|
27
|
+
*/
|
|
28
|
+
appendBoard(el: string | SVGElement, context?: SVGElement): this
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* 删除当前维护的节点
|
|
32
|
+
*/
|
|
33
|
+
remove(): this
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* 设置或获取节点属性
|
|
37
|
+
*/
|
|
38
|
+
attr(params?: any): any
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* 绘制一个实心文字
|
|
42
|
+
* @param text 需要绘制的文字
|
|
43
|
+
* @param x 绘制位置的x坐标
|
|
44
|
+
* @param y 绘制位置的y坐标
|
|
45
|
+
* @param deg 可选,文字旋转角度
|
|
46
|
+
*/
|
|
47
|
+
fillText(text: any, x: number, y: number, deg?: number): this
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* 绘制一个空心文字
|
|
51
|
+
* @param text 需要绘制的文字
|
|
52
|
+
* @param x 绘制位置的x坐标
|
|
53
|
+
* @param y 绘制位置的y坐标
|
|
54
|
+
* @param deg 可选,文字旋转角度
|
|
55
|
+
*/
|
|
56
|
+
strokeText(text: any, x: number, y: number, deg?: number): this
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* 绘制一个空实心文字
|
|
60
|
+
* @param text 需要绘制的文字
|
|
61
|
+
* @param x 绘制位置的x坐标
|
|
62
|
+
* @param y 绘制位置的y坐标
|
|
63
|
+
* @param deg 可选,文字旋转角度
|
|
64
|
+
*/
|
|
65
|
+
fullText(text: any, x: number, y: number, deg?: number): this
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* 绘制一个实心的圆弧
|
|
69
|
+
* @param cx 圆弧的圆心x坐标
|
|
70
|
+
* @param cy 圆弧的圆心y坐标
|
|
71
|
+
* @param r1 圆弧的内半径
|
|
72
|
+
* @param r2 圆弧的外半径
|
|
73
|
+
* @param beginDeg 开始弧度
|
|
74
|
+
* @param deg 跨越弧度
|
|
75
|
+
*/
|
|
76
|
+
fillArc(cx: number, cy: number, r1: number, r2: number, beginDeg: number, deg: number): this
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* 绘制一个空心的圆弧
|
|
80
|
+
* @param cx 圆弧的圆心x坐标
|
|
81
|
+
* @param cy 圆弧的圆心y坐标
|
|
82
|
+
* @param r1 圆弧的内半径
|
|
83
|
+
* @param r2 圆弧的外半径
|
|
84
|
+
* @param beginDeg 开始弧度
|
|
85
|
+
* @param deg 跨越弧度
|
|
86
|
+
*/
|
|
87
|
+
strokeArc(cx: number, cy: number, r1: number, r2: number, beginDeg: number, deg: number): this
|
|
88
|
+
|
|
89
|
+
/**
|
|
90
|
+
* 绘制一个空实心的圆弧
|
|
91
|
+
* @param cx 圆弧的圆心x坐标
|
|
92
|
+
* @param cy 圆弧的圆心y坐标
|
|
93
|
+
* @param r1 圆弧的内半径
|
|
94
|
+
* @param r2 圆弧的外半径
|
|
95
|
+
* @param beginDeg 开始弧度
|
|
96
|
+
* @param deg 跨越弧度
|
|
97
|
+
*/
|
|
98
|
+
fullArc(cx: number, cy: number, r1: number, r2: number, beginDeg: number, deg: number): this
|
|
99
|
+
|
|
100
|
+
/**
|
|
101
|
+
* 绘制一个实心的圆
|
|
102
|
+
* @param cx 圆心x坐标
|
|
103
|
+
* @param cy 圆心y坐标
|
|
104
|
+
* @param r 圆的半径
|
|
105
|
+
*/
|
|
106
|
+
fillCircle(cx: number, cy: number, r: number): this
|
|
107
|
+
|
|
108
|
+
/**
|
|
109
|
+
* 绘制一个空心的圆
|
|
110
|
+
* @param cx 圆心x坐标
|
|
111
|
+
* @param cy 圆心y坐标
|
|
112
|
+
* @param r 圆的半径
|
|
113
|
+
*/
|
|
114
|
+
strokeCircle(cx: number, cy: number, r: number): this
|
|
115
|
+
|
|
116
|
+
/**
|
|
117
|
+
* 绘制一个空实心的圆
|
|
118
|
+
* @param cx 圆心x坐标
|
|
119
|
+
* @param cy 圆心y坐标
|
|
120
|
+
* @param r 圆的半径
|
|
121
|
+
*/
|
|
122
|
+
fullCircle(cx: number, cy: number, r: number): this
|
|
123
|
+
|
|
124
|
+
/**
|
|
125
|
+
* 绘制一个实心的矩形
|
|
126
|
+
* @param x 可选,区域左上角X坐标
|
|
127
|
+
* @param y 可选,区域左上角y坐标
|
|
128
|
+
* @param width 可选,区域的宽
|
|
129
|
+
* @param height 可选,区域的高
|
|
130
|
+
*/
|
|
131
|
+
fillRect(x: number, y: number, width: number, height: number): this
|
|
132
|
+
|
|
133
|
+
/**
|
|
134
|
+
* 绘制一个空心的矩形
|
|
135
|
+
* @param x 可选,区域左上角X坐标
|
|
136
|
+
* @param y 可选,区域左上角y坐标
|
|
137
|
+
* @param width 可选,区域的宽
|
|
138
|
+
* @param height 可选,区域的高
|
|
139
|
+
*/
|
|
140
|
+
strokeRect(x: number, y: number, width: number, height: number): this
|
|
141
|
+
|
|
142
|
+
/**
|
|
143
|
+
* 绘制一个空实心的矩形
|
|
144
|
+
* @param x 可选,区域左上角X坐标
|
|
145
|
+
* @param y 可选,区域左上角y坐标
|
|
146
|
+
* @param width 可选,区域的宽
|
|
147
|
+
* @param height 可选,区域的高
|
|
148
|
+
*/
|
|
149
|
+
fullRect(x: number, y: number, width: number, height: number): this
|
|
150
|
+
|
|
151
|
+
/**
|
|
152
|
+
* 开始一段独立的路径
|
|
153
|
+
*/
|
|
154
|
+
beginPath(): this
|
|
155
|
+
|
|
156
|
+
/**
|
|
157
|
+
* 闭合当前路径,也就是路径首尾闭合
|
|
158
|
+
*/
|
|
159
|
+
closePath(): this
|
|
160
|
+
|
|
161
|
+
/**
|
|
162
|
+
* 画笔移动到点(x, y),此时笔离开了画布
|
|
163
|
+
*/
|
|
164
|
+
moveTo(x: number, y: number): this
|
|
165
|
+
|
|
166
|
+
/**
|
|
167
|
+
* 画笔移动到点(x, y),此时笔没有离开画布
|
|
168
|
+
*/
|
|
169
|
+
lineTo(x: number, y: number): this
|
|
170
|
+
|
|
171
|
+
/**
|
|
172
|
+
* 以(cx, cy)为圆心,半径r,从弧度beginDeg开始,跨越弧度deg画弧,此时笔没有离开画布
|
|
173
|
+
*/
|
|
174
|
+
arc(cx: number, cy: number, r: number, beginDeg: number, deg: number): this
|
|
175
|
+
|
|
176
|
+
/**
|
|
177
|
+
* 二次贝塞尔曲线到
|
|
178
|
+
* @param cpx 控制点x坐标
|
|
179
|
+
* @param cpy 控制点y坐标
|
|
180
|
+
* @param x 终点x坐标
|
|
181
|
+
* @param y 终点y坐标
|
|
182
|
+
*/
|
|
183
|
+
quadraticCurveTo(cpx: number, cpy: number, x: number, y: number): this
|
|
184
|
+
|
|
185
|
+
/**
|
|
186
|
+
* 三次贝塞尔曲线到
|
|
187
|
+
* @param cpx1 控制点1的x坐标
|
|
188
|
+
* @param cpy1 控制点1的y坐标
|
|
189
|
+
* @param cpx2 控制点2的x坐标
|
|
190
|
+
* @param cpy2 控制点2的y坐标
|
|
191
|
+
* @param x 终点x坐标
|
|
192
|
+
* @param y 终点y坐标
|
|
193
|
+
*/
|
|
194
|
+
bezierCurveTo(cp1x: number, cp1y: number, cp2x: number, cp2y: number, x: number, y: number): this
|
|
195
|
+
|
|
196
|
+
/**
|
|
197
|
+
* 把当前路径包裹的区域填充颜色
|
|
198
|
+
*/
|
|
199
|
+
fill(): this
|
|
200
|
+
|
|
201
|
+
/**
|
|
202
|
+
* 把当前路径上色(轮廓线)
|
|
203
|
+
*/
|
|
204
|
+
stroke(): this
|
|
205
|
+
|
|
206
|
+
/**
|
|
207
|
+
* 把当前路径画上轮廓线并填充颜色到当前路径所包裹的区域
|
|
208
|
+
*/
|
|
209
|
+
full(): this
|
|
210
|
+
|
|
211
211
|
}
|
package/types/animation.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
interface animationFun {
|
|
2
|
-
(deep: number): void
|
|
3
|
-
}
|
|
4
|
-
|
|
5
|
-
export default interface animationType {
|
|
6
|
-
(doback: animationFun, duration?: number, callback?: animationFun): Function
|
|
1
|
+
interface animationFun {
|
|
2
|
+
(deep: number): void
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
export default interface animationType {
|
|
6
|
+
(doback: animationFun, duration?: number, callback?: animationFun): Function
|
|
7
7
|
}
|
package/types/getLoopColors.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export default interface getLoopColorsType {
|
|
2
|
-
(num: number, alpha?: number): string[]
|
|
1
|
+
export default interface getLoopColorsType {
|
|
2
|
+
(num: number, alpha?: number): string[]
|
|
3
3
|
}
|
package/types/rotate.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export default interface rotateType {
|
|
2
|
-
(cx: number, cy: number, deg: number, x: number, y: number): number[]
|
|
1
|
+
export default interface rotateType {
|
|
2
|
+
(cx: number, cy: number, deg: number, x: number, y: number): number[]
|
|
3
3
|
}
|
package/types/ruler.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export default interface rulerType {
|
|
2
|
-
(maxValue: number, minValue: number, num: number): number[]
|
|
1
|
+
export default interface rulerType {
|
|
2
|
+
(maxValue: number, minValue: number, num: number): number[]
|
|
3
3
|
}
|
package/uni-app/ui-canvas.vue
CHANGED
|
@@ -1,50 +1,24 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<view :class="cover || isH5 ? 'cover-view' : 'normal-view'">
|
|
3
3
|
<view :class="'view-img view-' + uniqueid" @touchstart="doitstart">
|
|
4
|
-
<image
|
|
5
|
-
:style="{ width: width + 'px', height: height + 'px' }"
|
|
6
|
-
:src="viewImg"
|
|
7
|
-
></image>
|
|
4
|
+
<image :style="{ width: width + 'px', height: height + 'px' }" :src="viewImg"></image>
|
|
8
5
|
</view>
|
|
9
6
|
|
|
10
7
|
<!-- #ifdef MP-ALIPAY -->
|
|
11
|
-
<canvas
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
@touchstart="doitstart"
|
|
15
|
-
:style="{ width: width + 'px', height: height + 'px' }"
|
|
16
|
-
></canvas>
|
|
17
|
-
<canvas
|
|
18
|
-
class="region"
|
|
19
|
-
:id="'region-' + uniqueid"
|
|
20
|
-
:style="{ width: width + 'px', height: height + 'px' }"
|
|
21
|
-
></canvas>
|
|
8
|
+
<canvas class="painter" :id="'painter-' + uniqueid" @touchstart="doitstart"
|
|
9
|
+
:style="{ width: width + 'px', height: height + 'px' }"></canvas>
|
|
10
|
+
<canvas class="region" :id="'region-' + uniqueid" :style="{ width: width + 'px', height: height + 'px' }"></canvas>
|
|
22
11
|
<!-- #endif -->
|
|
23
12
|
<!-- #ifdef MP-WEIXIN -->
|
|
24
|
-
<canvas
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
@touchstart="doitstart"
|
|
28
|
-
:style="{ width: width + 'px', height: height + 'px' }"
|
|
29
|
-
></canvas>
|
|
30
|
-
<canvas
|
|
31
|
-
class="region"
|
|
32
|
-
canvas-id="region"
|
|
33
|
-
:style="{ width: width + 'px', height: height + 'px' }"
|
|
34
|
-
></canvas>
|
|
13
|
+
<canvas class="painter" canvas-id="painter" @touchstart="doitstart"
|
|
14
|
+
:style="{ width: width + 'px', height: height + 'px' }"></canvas>
|
|
15
|
+
<canvas class="region" canvas-id="region" :style="{ width: width + 'px', height: height + 'px' }"></canvas>
|
|
35
16
|
<!-- #endif -->
|
|
36
17
|
<!-- #ifndef MP-WEIXIN||MP-ALIPAY -->
|
|
37
|
-
<canvas
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
:style="{ width: width + 'px', height: height + 'px' }"
|
|
42
|
-
></canvas>
|
|
43
|
-
<canvas
|
|
44
|
-
class="region"
|
|
45
|
-
:canvas-id="'region-' + uniqueid"
|
|
46
|
-
:style="{ width: width + 'px', height: height + 'px' }"
|
|
47
|
-
></canvas>
|
|
18
|
+
<canvas class="painter" :canvas-id="'painter-' + uniqueid" @touchstart="doitstart"
|
|
19
|
+
:style="{ width: width + 'px', height: height + 'px' }"></canvas>
|
|
20
|
+
<canvas class="region" :canvas-id="'region-' + uniqueid"
|
|
21
|
+
:style="{ width: width + 'px', height: height + 'px' }"></canvas>
|
|
48
22
|
<!-- #endif -->
|
|
49
23
|
</view>
|
|
50
24
|
</template>
|
|
@@ -75,7 +49,7 @@ export default {
|
|
|
75
49
|
},
|
|
76
50
|
touchstart: {
|
|
77
51
|
type: Function,
|
|
78
|
-
default: () => {},
|
|
52
|
+
default: () => { },
|
|
79
53
|
},
|
|
80
54
|
cover: {
|
|
81
55
|
type: Boolean,
|
|
@@ -144,15 +118,17 @@ export default {
|
|
|
144
118
|
|
|
145
119
|
// 如果不使用原生渲染
|
|
146
120
|
if (!this.cover && !this.isH5) {
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
121
|
+
setTimeout(() => {
|
|
122
|
+
uni.canvasToTempFilePath(
|
|
123
|
+
{
|
|
124
|
+
canvasId: painterid,
|
|
125
|
+
success: (e) => {
|
|
126
|
+
this.viewImg = e.tempFilePath;
|
|
127
|
+
},
|
|
152
128
|
},
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
);
|
|
129
|
+
this
|
|
130
|
+
);
|
|
131
|
+
}, 300);
|
|
156
132
|
}
|
|
157
133
|
};
|
|
158
134
|
return new Promise((resolve, reject) => {
|