【Canvas】canvas绘制emoji笑脸

学习记录


利用canvas绘制emoji笑脸

一、Canvas

HTML5 的 canvas 元素使用 JavaScript 在网页上绘制图像。

画布是一个矩形区域,您可以控制其每一像素。

canvas 拥有多种绘制路径、矩形、圆形、字符以及添加图像的方法。
W3.school


二、步骤

代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>笑脸 [Doxio]</title>
    <script>
        window.onload = function (){
			
		//表情1
            var canvas = document.querySelector("#xiaolian");
            var context = canvas.getContext("2d");
			
            context.beginPath();  // 开始创建新路径
            context.arc(250,250,200,0,Math.PI*2);
            context.fillStyle = "#ff69b3";
            context.fill();   //进行填充颜色"#ff69b3"

            //嘴巴
            context.beginPath();
            context.arc(250,350,50,0,Math.PI);
            context.strokeStyle = "#ffff00";
            context.lineWidth =10;
            context.stroke();  // 调用 stroke 绘制该路径

            //眼睛-左
            context.beginPath();
            context.arc(160,180,50,0,Math.PI);
            context.closePath();
            context.stroke();

            //眼睛-右
            context.beginPath();
            context.arc(340,180,50,0,Math.PI);
            context.closePath();//闭合
            context.stroke();
			
		//表情2
			
			var canvas = document.querySelector("#xiaolian");
			var context = canvas.getContext("2d");
			
			context.beginPath();  // 开始创建新路径
			context.arc(750,250,200,0,Math.PI*2);
			context.fillStyle = "#ff69b3";
			context.fill();  //进行填充颜色"#ff69b3"
			
			//嘴巴
			context.beginPath();  // 开始创建新路径
			context.arc(750,320,20,0,Math.PI*2);
			context.strokeStyle = "#ffff00";
			context.lineWidth =10;
			context.stroke();  // 调用 stroke 绘制该路径
			
			//眼睛-左
			context.beginPath();
			// 创建一个半圆圆弧
			context.arc(680, 200, 50, 0, Math.PI, true);
			context.stroke();
			
			//眼睛-右
			context.beginPath();
			context.moveTo(850,150);
			context.lineTo(800,183);
			context.lineTo(850,200);  //会以上次 lineTo 的节点为开始"lineTo(800,183)"
			context.stroke();
			
        }
    </script>
</head>
<body>
    <canvas id="xiaolian" width="1000" height="1000"></canvas>
</body>
</html>


效果图

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值