Canvas 画三角形 画个脸
1.视图
<canvas id="myCan" width="500px" height="500px" style="border: 1px solid #3e2e40;"></canvas>
2.JS
<script>
//拿到 当前canvas 画布节点
let canvas = document.getElementById('myCan')
//做出一个判断 判断是否支持 或者说 一个非空判断
if (canvas.getContext) {
//拿起画笔
let ctx = canvas.getContext('2d');
//画出第一个正方形
//ctx.fillStyle 填充的颜色
ctx.fillStyle = "#59a387";
//ctx.fillRect x,y,width,height
//x 离left的距离 y 离top的距离
ctx.fillRect(50,50,100,100);
//再画一个 带有透明的
ctx.fillStyle="rgba(43, 56, 77, 0.5)";
ctx.fillRect(70,70,100,100)
//让我们擦去刚刚画的
ctx.clearRect(0, 0, 200, 200)
//开始画出矩形
// 还是先画一个正方形
ctx.fillRect(25, 25, 100, 100);
// 利用橡皮搽掉中间不需要的部分
ctx.clearRect(45, 45, 60, 60);
// 在画一个正方形边框在中心
ctx.strokeRect(50, 50, 50, 50);
// 换个地方画试试看
ctx.fillRect(300,300,100,100)
ctx.clearRect(310,310,80,80)
ctx.strokeRect(320,320,60,60)
//擦去刚刚上面画的
ctx.clearRect(0, 0, 500, 500)
// 然后来画一个三角形
// 开启一个路径
ctx.beginPath()
//x,y x 代表离left的距离 y代表离Top的距离 它是移动笔触
ctx.moveTo(75,50)
// 创建一条 由👆 moveTo 创建的起始距离 画一条多少距离到多少距离的线
ctx.lineTo(75,200)
// 接着上面的200的位置 再往离top 25的地方延申一根线
ctx.lineTo(200,55)
//填充刚刚画的区域
ctx.fill()
//画出一个笑脸 开启新路径
ctx.beginPath();
// 先画一个圆 Math.PI * 2
ctx.arc(200, 200, 50, 0, Math.PI * 2, true); // 绘制
// 把笔移动到圆的嘴巴位置
ctx.moveTo(235, 200);
// 画一个半圆 false 顺时针 true 逆时针 Math.PI 半圆
ctx.arc(200, 200, 35, 0, Math.PI, false); // 口 (顺时针)
//移动画笔 到左边眼睛位置
ctx.moveTo(184, 180);
// 再画个圆
ctx.arc(180, 180, 9, 0, Math.PI * 2, true); // 左眼
//移动画笔 到右边眼睛位置
ctx.moveTo(220, 180);
// 再画个圆
ctx.arc(215, 180, 9, 0, Math.PI * 2, true); // 右眼
// 填充线条
ctx.stroke();
// 填充底色
ctx.fill()
} else {
alert('没有找到这个画布')
}
</script>
效果 ---------------



浙公网安备 33010602011771号