Maison  >  Article  >  interface Web  >  HTML5 utilise un canevas pour dessiner la tête de Doraemon (exemple de code)

HTML5 utilise un canevas pour dessiner la tête de Doraemon (exemple de code)

青灯夜游
青灯夜游avant
2021-05-31 17:02:142712parcourir

HTML5 utilise un canevas pour dessiner la tête de Doraemon (exemple de code)

Le canevas html5 est très puissant L'article suivant utilise le canevas html5 pour implémenter une simple tête Doraemon. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. J'espère qu'il sera utile à tout le monde.

L'effet est le suivant :

HTML5 utilise un canevas pour dessiner la tête de Doraemon (exemple de code)

Le code est le suivant :

<div class="doraemon">
    <canvas id="face" width="600" height="1500">您的浏览器不支持canvas</canvas>
</div>
<script>
       var face = document.getElementById(&#39;face&#39;).getContext("2d");
       face.arc(252,252,250,0,360*Math.PI/180); 
       face.fillStyle = &#39;#07beea&#39;;  //设置填充颜色
         face.fill();  //填充
         face.lineWidth = 2;   //轮廓线宽度
         face.strokeStyle = &#39;#333&#39;;   //轮廓线颜色
         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 = &#39;#fff&#39;;
        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 = &#39;#fff&#39;;
        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 = &#39;#333&#39;;   
         face.fill();

         face.beginPath();    //鼻子
          face.arc(250,197,25,0,360*Math.PI/180);   
         face.fillStyle = &#39;#c93e00&#39;;   
         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,&#39;#fff&#39;);
         grd.addColorStop(1,&#39;#c93e00&#39;);
         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>

Pour plus de connaissances liées à la programmation, veuillez visiter : Vidéo de programmation ! !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer