菜单 学习猿地 - LMONKEY

VIP

开通学习猿地VIP

尊享10项VIP特权 持续新增

知识通关挑战

打卡带练!告别无效练习

接私单赚外块

VIP优先接,累计金额超百万

学习猿地私房课免费学

大厂实战课仅对VIP开放

你的一对一导师

每月可免费咨询大牛30次

领取更多软件工程师实用特权

入驻
280
0

HTML5 canvas画简单的叮当猫头

原创
05/13 14:22
阅读数 563804

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

效果如下:

1.jpg

代码如下:

<div class="doraemon">
    <canvas id="face" width="600" height="1500">您的浏览器不支持canvas</canvas>
</div>
<script>
       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();

</script>

本文转载自:https://www.cnblogs.com/jr1993/p/4623224.html

想要了解更多前端知识,可访问 前端开发学习!!

发表评论

0/200
280 点赞
0 评论
收藏
为你推荐 换一批