绘制
# Canvas元素
# 绘制线条
Canvas 元素作为 HTML5 标准的一部分,允许你通过脚本动态渲染图像
代码
var cvs = document.getElementById('id');
//获取工具集
var cxt = cvs.getContext('2d');
//定位开始点
cxt.moveTo(30,30);
cxt.lineTo(90,30);
//描点
cxt.stroke();
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
- closePath();闭合点
# 绘制图形
绘制三角形
var cvs = document.getElementById('id');
//获取工具集
var cxt = cvs.getContext('2d');
//定位开始点
cxt.moveTo(30,30);
cxt.lineTo(90,30);
cxt.lineTo(50,50);
cxt.closePath();
//描点
cxt.stroke();
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
# classPath()
闭合路劲绘制
# 绘制颜色
颜色设置
cxt.strokeStyle = color
cxt.fillStyle = color
cxt.strokeStyle = red;
1
像素设置
cxt.lineWidth = num
cxt.lineWidth = 12px;
1
# beginPath()
开启一条新路径
可以单独的绘制不同颜色的线条
绘制不同颜色线条的三角形
var cvs = document.getElementById('id');
//获取工具集
var cxt = cvs.getContext('2d');
//设置绘制图形的颜色
cxt.strokeStyle='red';
//定位一个起始点
cxt.moveTo(50,50);
//绘制第二个点
cxt.lineTo(150,50)
//绘制线条
cxt.stroke()
//重置当前路径
cxt.beginPath();
//设置绘制图形的颜色
cxt.strokeStyle='blue';
//设置绘制第二条线起始点
cxt.moveTo(150,50);
//绘制第二个点
cxt.lineTo(80,100)
//绘制线条
cxt.stroke()
//重置当前路径
cxt.beginPath();
//设置绘制图形的颜色
cxt.strokeStyle='green';
//设置绘制第二条线起始点
cxt.moveTo(80,100);
//返回原始点
cxt.lineTo(50,50)
//绘制线条
cxt.stroke()
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# 绘制文字
1.设置文字样式
cxt.font = '字体属性'
cxt.font = 'solid 32px sans-serif'
1
2.字体绘制
//1.填充式
cxt.fillText(text,x,y,maxWidth);
//2.描边式
cxt.strokeText(text,x,y,maxWidth);
1
2
3
4
2
3
4
# 文字对齐
//设置文本内容水平对齐方式
context.textAlign='水平方位值' //center|left|right
//设置文本内容垂直对齐方式
context.textBaseline='垂直方位值' //top|middle|bottom
1
2
3
4
2
3
4
# 图片另存为
//当前绘制内容存为图片
context.toDataURL(type, encoderOptions);//image/png图片格式,0到1区间图片质量
//使用
var imgUrl = cvs.toDataURL('./IMG',1);
1
2
3
4
2
3
4
# 绘制API
绘制矩形
//绘制矩形的路径 context.rect(x,y,width,height); //绘制无填充的矩形 context.strokeRect(x,y,width,height); //绘制填充的矩形 context.fillRect(x,y,width,height); //清空指定矩形内像素 context.clearRect(x,y,width,height);
1
2
3
4
5
6
7
8绘制有弧度的圆形
//在指定位置绘制一个圆形 context.arc(x,y,r,sAngle,eAngle,clockwise);//圆心,开始度,结束度,总绘制度
1
2绘制不同大小的图片
//在画布上绘制固定坐标的图像 context.drawImage(img,x,y); //在画布上绘制不仅固定坐标,且规定图像的宽度和高度图像 context.drawImage(img,x,y,width,height); //在画布上剪切图像,并在画布上绘制被剪切的部分 context.drawImage(img,sx,sy,swidth,sheight,x,y,width,height); //(参数为,原图片的裁剪点和需要裁剪打宽高,放置画布的坐标点和图片宽高)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
编辑 (opens new window)
上次更新: 2023/02/07, 14:51:48