如何用手机HTML制作哆啦a梦,HTML5利用canvas绘制哆啦A梦头部-电脑自学网

本文介绍如何使用HTML5 Canvas技术绘制一个简单的哆啦A梦头部图像。通过贝塞尔曲线等技巧实现其特征,并提供了完整的代码示例。

fbf5c33b3cf644a65b7de2ad2312689c.gif

html5的canvas是很强大的,下面本篇文章使用html5 canvas 实现一个简单的哆啦A梦头部。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

效果如下:

fbf5c33b3cf644a65b7de2ad2312689c.gif

代码如下:

您的浏览器不支持canvas

var face = document.getElementById('face').getContext("2d");

face.arc(252,252,250,0,360*Math.PI/180);

face.fillStyle = '#07beea'; //设置填充颜色

face.fill(); //填充

face.lineWidth = 2; //轮廓线宽度

face.strokeStyle = '#333'; //轮廓线颜色

face.stroke(); //画轮廓线

face.beginPath(); //重置当前绘画路径

face.moveTo(160,450); //画笔移动到起始点

face.bezierCurveTo(0,400,0,110,210,115); //三次贝塞尔曲线(左边)

face.lineTo(290,115);

face.bezierCurveTo(500,110,500,400,340,450);

face.bezierCurveTo(280,470,220,470,160,450);

face.fillStyle = '#fff';

face.fill();

face.stroke(); //画出边框

face.beginPath(); //重置当前绘画路径 用于画眼睛和鼻子

face.moveTo(150,150);

face.lineTo(150,100); //左眼左竖线

face.bezierCurveTo(160,50,240,50,250,100); //左眼下面

face.lineTo(250,150); //左眼右竖线

face.bezierCurveTo(240,200,160,200,150,150); //左眼上面

face.moveTo(250,150);

face.lineTo(250,100); //右眼左竖线

face.bezierCurveTo(260,50,340,50,350,100); //右眼上面

face.lineTo(350,150); //右眼右竖线

face.bezierCurveTo(340,200,260,200,250,150); //右眼下面

face.fillStyle = '#fff';

face.fill();

face.stroke();

face.beginPath();

face.arc(225,155,10,0,360*Math.PI/180); //眼珠

face.arc(275,155,10,0,360*Math.PI/180);

face.fillStyle = '#333';

face.fill();

face.beginPath(); //鼻子

face.arc(250,197,25,0,360*Math.PI/180);

face.fillStyle = '#c93e00';

face.fill();

face.stroke();

face.beginPath();

face.arc(260,190,10,0,360*Math.PI/180);

var grd = face.createRadialGradient(260,190,2,260,190,10); //设置内外圆原点和半径

grd.addColorStop(0,'#fff');

grd.addColorStop(1,'#c93e00');

face.fillStyle = grd;

face.fill();

//嘴巴

face.beginPath();

face.moveTo(250,222);

face.lineTo(250,395);

face.moveTo(100,320);

face.bezierCurveTo(180,420,320,420,400,320);

face.lineWidth = 3;

face.stroke();

//胡须

face.beginPath();

face.moveTo(80,200);

face.lineTo(180,220);

face.moveTo(80,245);

face.lineTo(180,245);

face.moveTo(80,290);

face.lineTo(180,270);

face.moveTo(320,220);

face.lineTo(420,200);

face.moveTo(320,245);

face.lineTo(420,245);

face.moveTo(320,270);

face.lineTo(420,290);

face.stroke();

更多编程相关知识,请访问:编程视频!!

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值