Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DCloud
hello uni-app x
提交
7c11abbd
H
hello uni-app x
项目概览
DCloud
/
hello uni-app x
通知
6006
Star
91
Fork
164
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
18
列表
看板
标记
里程碑
合并请求
1
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
H
hello uni-app x
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
18
Issue
18
列表
看板
标记
里程碑
合并请求
1
合并请求
1
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
7c11abbd
编写于
8月 06, 2024
作者:
H
hdx
提交者:
辛宝Otto
8月 07, 2024
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
feat(canvas): 增加 Path2D
上级
7113f80e
变更
1
显示空白变更内容
内联
并排
Showing
1 changed file
with
31 addition
and
2 deletion
+31
-2
pages/component/canvas/canvas.uvue
pages/component/canvas/canvas.uvue
+31
-2
未找到文件。
pages/component/canvas/canvas.uvue
浏览文件 @
7c11abbd
...
@@ -72,7 +72,7 @@
...
@@ -72,7 +72,7 @@
testCanvasContext: false,
testCanvasContext: false,
testToBlobResult: false,
testToBlobResult: false,
testToDataURLResult: false,
testToDataURLResult: false,
names: [...API_PATH, ...API_DRAW, ...API_STATE, ...API_PROPERTIES, "measureText"] as string[],
names: [...API_PATH, ...API_DRAW, ...API_STATE, ...API_PROPERTIES, "measureText"
, "path2D"
] as string[],
// 仅测试
// 仅测试
testCreateCanvasContextAsyncSuccess: false,
testCreateCanvasContextAsyncSuccess: false,
testCreateImage: false
testCreateImage: false
...
@@ -256,6 +256,10 @@
...
@@ -256,6 +256,10 @@
break;
break;
case "textAlign":
case "textAlign":
this.textAlign();
this.textAlign();
break;
case "path2D":
this.path2DMethods();
break;
default:
default:
break;
break;
}
}
...
@@ -824,6 +828,31 @@
...
@@ -824,6 +828,31 @@
const textMetrics = context.measureText(text)
const textMetrics = context.measureText(text)
context.strokeText(text, 40, 100)
context.strokeText(text, 40, 100)
context.fillText("measure text width:" + textMetrics.width, 40, 80)
context.fillText("measure text width:" + textMetrics.width, 40, 80)
},
path2DMethods() {
const context = this.renderingContext!
context.beginPath()
const path2D = new Path2D();
const amplitude = 64;
const wavelength = 64;
for (let i = 0; i < 5; i++) {
const x1 = 0 + (i * wavelength);
const y1 = 128;
const x2 = x1 + wavelength / 4;
const y2 = y1 - amplitude;
const x3 = x1 + 3 * wavelength / 4;
const y3 = y1 + amplitude;
const x4 = x1 + wavelength;
const y4 = y1;
context.moveTo(x1, y1);
path2D.bezierCurveTo(x2, y2, x3, y3, x4, y4);
}
context.stroke(path2D);
const path2DRect = new Path2D();
path2DRect.rect(10, 10, 100, 20);
context.fill(path2DRect);
}
}
}
}
}
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录