Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DCloud
hello uni-app x
提交
debe2d44
H
hello uni-app x
项目概览
DCloud
/
hello uni-app x
通知
6007
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看板
提交
debe2d44
编写于
8月 08, 2024
作者:
X
xty
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
1.按钮按字母排序 2.属性示例标题去掉set 3.添加get/setImageData示例
上级
d83c298a
变更
1
显示空白变更内容
内联
并排
Showing
1 changed file
with
37 addition
and
16 deletion
+37
-16
pages/component/canvas/canvas.uvue
pages/component/canvas/canvas.uvue
+37
-16
未找到文件。
pages/component/canvas/canvas.uvue
浏览文件 @
debe2d44
...
@@ -61,10 +61,10 @@
...
@@ -61,10 +61,10 @@
export default {
export default {
data() {
data() {
const API_PATH = ["arc", "arcTo", "bezierCurveTo", "quadraticCurve", "moveTo", "lineTo", "rect", "clip", "
pattern
"]
const API_PATH = ["arc", "arcTo", "bezierCurveTo", "quadraticCurve", "moveTo", "lineTo", "rect", "clip", "
createPattern","getSetImageData
"]
const API_DRAW = ["stroke", "strokeRect", "strokeText", "fill", "fillRect", "fillText", "drawImage", "drawImageLocal", "clearRect"]
const API_DRAW = ["stroke", "strokeRect", "strokeText", "fill", "fillRect", "fillText", "drawImage", "drawImageLocal", "clearRect"]
const API_STATE = ["beginPath", "closePath", "reset", "transform", "rotate", "resetTransform", "save", "restore", "scale", "translate"]
const API_STATE = ["beginPath", "closePath", "reset", "transform", "rotate", "resetTransform", "save", "restore", "scale", "translate"]
const API_PROPERTIES = ["
setLineCap", "setLineJoin", "setLineWidth", "setMiterLimit", "setFillStyle", "setStrokeStyle", "setGlobalAlpha", "setFontSize", "lineDash", "linearGradient", "r
adialGradient", "textAlign"]
const API_PROPERTIES = ["
lineCap", "lineJoin", "lineWidth", "miterLimit", "fillStyle", "strokeStyle", "globalAlpha", "font", "setLineDash", "createLinearGradient", "createR
adialGradient", "textAlign"]
return {
return {
title: 'Context2D',
title: 'Context2D',
...
@@ -78,7 +78,7 @@
...
@@ -78,7 +78,7 @@
testCanvasContext: false,
testCanvasContext: false,
testToBlobResult: false,
testToBlobResult: false,
testToDataURLResult: false,
testToDataURLResult: false,
names: [...API_PATH, ...API_DRAW, ...API_STATE, ...API_PROPERTIES, "measureText", "path2D"] as string[],
names: [...API_PATH, ...API_DRAW, ...API_STATE, ...API_PROPERTIES, "measureText", "path2D"]
.sort()
as string[],
// 仅测试
// 仅测试
testCreateCanvasContextAsyncSuccess: false,
testCreateCanvasContextAsyncSuccess: false,
testCreateImage: false,
testCreateImage: false,
...
@@ -184,13 +184,16 @@
...
@@ -184,13 +184,16 @@
case "closePath":
case "closePath":
this.closePath();
this.closePath();
break;
break;
case "pattern":
case "getSetImageData":
this.getSetImageData();
break;
case "createPattern":
this.pattern()
this.pattern()
break;
break;
case "
l
inearGradient":
case "
createL
inearGradient":
this.createLinearGradient();
this.createLinearGradient();
break;
break;
case "
r
adialGradient":
case "
createR
adialGradient":
this.createRadialGradient();
this.createRadialGradient();
break;
break;
case "fill":
case "fill":
...
@@ -256,31 +259,31 @@
...
@@ -256,31 +259,31 @@
case "measureText":
case "measureText":
this.measureText();
this.measureText();
break;
break;
case "
setF
illStyle":
case "
f
illStyle":
this.setFillStyle();
this.setFillStyle();
break;
break;
case "s
etS
trokeStyle":
case "strokeStyle":
this.setStrokeStyle();
this.setStrokeStyle();
break;
break;
case "
setG
lobalAlpha":
case "
g
lobalAlpha":
this.setGlobalAlpha();
this.setGlobalAlpha();
break;
break;
case "
setFontSize
":
case "
font
":
this.setFontSize();
this.setFontSize();
break;
break;
case "
setL
ineCap":
case "
l
ineCap":
this.setLineCap();
this.setLineCap();
break;
break;
case "
setL
ineJoin":
case "
l
ineJoin":
this.setLineJoin();
this.setLineJoin();
break;
break;
case "
l
ineDash":
case "
setL
ineDash":
this.lineDash();
this.lineDash();
break;
break;
case "
setL
ineWidth":
case "
l
ineWidth":
this.setLineWidth();
this.setLineWidth();
break;
break;
case "
setM
iterLimit":
case "
m
iterLimit":
this.setMiterLimit();
this.setMiterLimit();
break;
break;
case "textAlign":
case "textAlign":
...
@@ -378,6 +381,24 @@
...
@@ -378,6 +381,24 @@
context.textAlign = "right"
context.textAlign = "right"
context.fillText("right-aligned", 150, 130)
context.fillText("right-aligned", 150, 130)
},
},
getSetImageData(){
const context = this.renderingContext!
// Create path
context.moveTo(0, 70);
context.lineTo(80, 0);
context.lineTo(210, 110);
context.lineTo(30, 110);
context.lineTo(160, 0);
context.lineTo(240, 70);
context.closePath();
// Fill path
context.fillStyle = "green";
context.fill();
let imageData = context.getImageData(0, 0, context.canvas.width/2, context.canvas.height/2)
context.putImageData(imageData, context.canvas.width/2, context.canvas.height/2)
},
bezierCurveTo() {
bezierCurveTo() {
const context = this.renderingContext!
const context = this.renderingContext!
...
@@ -453,7 +474,7 @@
...
@@ -453,7 +474,7 @@
this.clearCanvasRect()
this.clearCanvasRect()
const pattern = context.createPattern(image, "repeat")
const pattern = context.createPattern(image, "repeat")
context.fillStyle = pattern
context.fillStyle = pattern
context.fillRect(0, 0,
100, 1
00)
context.fillRect(0, 0,
400, 4
00)
context.restore()
context.restore()
};
};
},
},
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录