Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DCloud
hello uni-app x
提交
d2e68d04
H
hello uni-app x
项目概览
DCloud
/
hello uni-app x
通知
6072
Star
94
Fork
167
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
19
列表
看板
标记
里程碑
合并请求
1
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
H
hello uni-app x
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
19
Issue
19
列表
看板
标记
里程碑
合并请求
1
合并请求
1
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
d2e68d04
编写于
8月 06, 2024
作者:
辛宝Otto
🥊
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
feat: 补充 canvas createImage 测试
上级
cf73b6bd
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
36 addition
and
3 deletion
+36
-3
pages/component/canvas/canvas.test.js
pages/component/canvas/canvas.test.js
+9
-3
pages/component/canvas/canvas.uvue
pages/component/canvas/canvas.uvue
+27
-0
未找到文件。
pages/component/canvas/canvas.test.js
浏览文件 @
d2e68d04
...
...
@@ -30,13 +30,19 @@ describe('Canvas.uvue', () => {
})
it
(
"
测试同步创建canvas上下文
"
,
async
()
=>
{
await
page
.
callMethod
(
'
useAsync
'
);
const
element
=
await
page
.
$
(
'
#testCanvasContext
'
)
expect
(
await
element
.
text
()).
toBe
(
'
true
'
)
await
page
.
callMethod
(
'
useAsync
'
);
const
element
=
await
page
.
$
(
'
#testCanvasContext
'
)
expect
(
await
element
.
text
()).
toBe
(
'
true
'
)
})
it
(
'
测试 canvasToDataURL
'
,
async
()
=>
{
await
page
.
callMethod
(
'
canvasToDataURL
'
);
const
element
=
await
page
.
$
(
'
#testToDataURLResult
'
)
expect
(
await
element
.
text
()).
toBe
(
'
true
'
)
})
it
(
'
测试 createImage
'
,
async
()
=>
{
await
page
.
callMethod
(
'
drawImageAPI
'
);
await
page
.
waitFor
(
500
)
// 加载图片
const
element
=
await
page
.
$
(
'
#testCreateImage
'
)
expect
(
await
element
.
text
()).
toBe
(
'
true
'
)
})
})
pages/component/canvas/canvas.uvue
浏览文件 @
d2e68d04
...
...
@@ -16,6 +16,12 @@
<text>测试 ToDataURL 结果:</text>
<text id="testToDataURLResult">{{testToDataURLResult}}</text>
</view>
<view class="text-group">
<text>测试 createImage 结果:</text>
<text id="testCreateImage">{{testCreateImage}}</text>
</view>
<!-- #ifdef WEB -->
<button class="canvas-drawing-button" @click="canvasToBlob">canvasToBlob</button>
<view>
...
...
@@ -27,6 +33,7 @@
<text>canvasToDataURL:</text>
<text>{{dataBase64.slice(0,22)}}...</text>
</view>
<button @click="drawImageAPI">drawImage</button>
<view style="padding: 8px 10px;">CanvasContext API 演示</view>
<view class="grid-view">
<view class="grid-item" v-for="(name, index) in names" :key="index">
...
...
@@ -70,6 +77,7 @@
image: null as Image | null,
// 仅测试
testCreateCanvasContextAsyncSuccess: false,
testCreateImage: false
}
},
onReady() {
...
...
@@ -86,6 +94,25 @@
canvasToDataURL() {
this.dataBase64 = this.canvas!.toDataURL()
},
drawImageAPI() {
uni.createCanvasContextAsync({
id: 'canvas',
success: (res : CanvasContext) => {
this.context = res.getContext('2d');
this.clearCanvasRect()
// hidpi(this.context.canvas);
let image = res.createImage();
image.src = "../../static/logo.png"
image.onload = () => {
this.testCreateImage = true
this.context?.drawImage(image, 0, 0, 100, 100);
}
},
fail: (err : UniError) => {
console.log(err);
}
} as CreateCanvasContextAsyncOptions)
},
useAsync() {
// HBuilderX 4.25+
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录