婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > canvas簡易繪圖的實現(海綿寶寶篇)

canvas簡易繪圖的實現(海綿寶寶篇)

熱門標簽:鎮江智能外呼系統有效果嗎 云南大理400電話申請官方 當涂高德地圖標注 黃島區地圖標注 江蘇智能電銷機器人哪家好 電銷機器人電話用什么卡 成都智能外呼系統平臺 四川點撥外呼系統 南寧點撥外呼系統哪家公司做的好

最近在研究canvas,簡單的用canvas繪制了一下卡通人物--海綿寶寶。

圖片如下:

代碼如下:

<!DOCTYPE html>
<html>
 <head>
  <meta charset="utf-8" />
  <title>canvas海綿寶寶</title>
 </head>
 <body>
  <canvas id="canvas" width="1000" height="700" style="background: #01539f;"></canvas>
 </body>
 <script>
  var canvas = document.getElementById("canvas");
  var ctx = canvas.getContext("2d");
  with(ctx){
   //袖子
   //左
   beginPath();
   fillStyle="#fff";
   strokeStyle="#000";
   lineWidth=2;
   bezierCurveTo(142,253,112,263,112,303)
   quadraticCurveTo(120,308,150,303)
   fill();
   stroke();
   closePath();
   //右
   beginPath();
   fillStyle="#fff";
   strokeStyle="#000";
   lineWidth=2;
   bezierCurveTo(445,253,477,263,477,303)
   quadraticCurveTo(467,308,447,303)
   fill();
   stroke();
   closePath();
   //胳膊
   //左
   beginPath();
   fillStyle="#f5e261";
   strokeStyle="#000";
   lineWidth=2;
   moveTo(122,306);
   lineTo(110,406);
   lineTo(120,406);
   lineTo(132,306);
   fill();
   stroke();
   closePath();
   //右
   beginPath();
   fillStyle="#f5e261";
   strokeStyle="#000";
   moveTo(458,306);
   lineTo(470,406);
   lineTo(480,406);
   lineTo(468,306);
   fill();
   stroke();
   closePath();
   //手
   //左
   //衣服
   beginPath();
   fillStyle="#fff";
   strokeStyle="#000";
   lineWidth=5;
   shadowColor = "#000"; 
   shadowOffsetX = 0; 
   shadowOffsetY = 0; 
   shadowBlur = 0; 
   moveTo(145,385);
   lineTo(146,425);
   lineTo(442,425);
   lineTo(443,385);
   stroke();
   fill();
   closePath();
   //褲子
   beginPath();
   fillStyle="#ae6f28";
   strokeStyle="#000";
   moveTo(146,427);
   lineTo(147,470);
   lineTo(441,470);
   lineTo(442,427);
   stroke();
   fill();
   closePath();
   //褲子圖案
   beginPath();
   fillStyle="#000";
   rect(156,438,60,15);
   rect(236,438,120,15);
   rect(373,438,60,15);
   fill();
   closePath();
   //褲腿
   beginPath();
   fillStyle="#ae6f28";
   strokeStyle="#000";
   lineWidth=2;
   moveTo(190,472);
   lineTo(190,490);
   lineTo(235,490);
   lineTo(235,472);
   moveTo(350,472);
   lineTo(350,490);
   lineTo(395,490);
   lineTo(395,472);
   fill();
   stroke();
   closePath();
   //腿
   beginPath();
   fillStyle="#fffe71";
   strokeStyle="#000";
   lineWidth=2;
   moveTo(208,491);
   lineTo(208,516);
   lineTo(218,516);
   lineTo(218,491);
   moveTo(368,491);
   lineTo(368,516);
   lineTo(378,516);
   lineTo(378,491);
   fill();
   stroke();
   closePath();
   //襪子
   beginPath();
   fillStyle="#fff";
   strokeStyle="#000";
   lineWidth=2;
   moveTo(208,517);
   lineTo(207,560);
   lineTo(218,560);
   lineTo(218,517);
   moveTo(368,517);
   lineTo(368,560);
   lineTo(379,560);
   lineTo(378,517);
   fill();
   stroke();
   closePath();
   //藍杠
   beginPath();
   strokeStyle="#536d92";
   lineWidth=4;
   moveTo(208,523);
   lineTo(218,523);
   moveTo(368,523);
   lineTo(378,523);
   stroke();
   closePath();
   //紅杠
   beginPath();
   strokeStyle="#da4751";
   lineWidth=4;
   moveTo(209,530);
   lineTo(218,530);
   moveTo(369,530);
   lineTo(378,530);
   stroke();
   closePath();
   
   //領帶
   beginPath();
   strokeStyle="#000";
   lineWidth=5;
   fillStyle="#ef4641";
   moveTo(270,385);
   lineTo(320,385);
   lineTo(298,413);
   lineTo(292,413);
   lineTo(270,385);
   moveTo(292,415);
   lineTo(280,446);
   lineTo(295,462);
   lineTo(310,446);
   lineTo(298,415);
   stroke();
   fill();
   closePath();
   //領子
   beginPath();
   strokeStyle="#000";
   fillStyle="#fff";
   moveTo(280,393);
   lineTo(265,410);
   lineTo(218,385);
   moveTo(310,393);
   lineTo(325,410);
   lineTo(362,385);
   stroke();
   fill();
   closePath();
   //臉
   beginPath();
   strokeStyle="#818620";
   fillStyle="#f5e262";
   lineWidth=5;
   bezierCurveTo(140,50,150,60,160,50);
   quadraticCurveTo(170,40,180,50);
   quadraticCurveTo(190,60,200,50);
   quadraticCurveTo(210,40,220,50);
   quadraticCurveTo(230,60,240,50);
   quadraticCurveTo(250,40,260,50);
   quadraticCurveTo(270,60,280,50);
   quadraticCurveTo(290,40,300,50);
   quadraticCurveTo(310,60,320,50);
   quadraticCurveTo(330,40,340,50);
   quadraticCurveTo(350,60,360,50);
   quadraticCurveTo(370,40,380,50);
   quadraticCurveTo(390,60,400,50);
   quadraticCurveTo(410,40,420,50);
   quadraticCurveTo(430,60,440,50);
   quadraticCurveTo(450,40,460,50);
   quadraticCurveTo(465,60,460,70);
   quadraticCurveTo(450,80,460,90);
   quadraticCurveTo(468,100,458,110);
   quadraticCurveTo(446,120,456,130);
   quadraticCurveTo(466,140,456,150);
   quadraticCurveTo(444,160,454,170);
   quadraticCurveTo(464,180,454,190);
   quadraticCurveTo(442,200,452,210);
   quadraticCurveTo(462,220,452,230);
   quadraticCurveTo(440,240,450,250);
   quadraticCurveTo(460,260,450,270);
   quadraticCurveTo(438,280,448,290);
   quadraticCurveTo(458,300,448,310);
   quadraticCurveTo(436,320,446,330);
   quadraticCurveTo(456,340,446,350);
   quadraticCurveTo(434,360,444,370);
   quadraticCurveTo(454,380,444,390);
   quadraticCurveTo(435,405,424,390);
   quadraticCurveTo(415,380,405,390);
   quadraticCurveTo(395,400,385,390);
   quadraticCurveTo(375,380,365,390);
   quadraticCurveTo(355,400,345,390);
   quadraticCurveTo(335,380,325,390);
   quadraticCurveTo(315,400,305,390);
   quadraticCurveTo(295,380,285,390);
   quadraticCurveTo(275,400,265,390);
   quadraticCurveTo(255,380,245,390);
   quadraticCurveTo(235,400,225,390);
   quadraticCurveTo(215,380,205,390);
   quadraticCurveTo(195,400,185,390);
   quadraticCurveTo(175,380,165,390);
   quadraticCurveTo(155,400,145,390);
   quadraticCurveTo(135,380,145,370);
   quadraticCurveTo(153,360,143,350);
   quadraticCurveTo(133,340,143,330);
   quadraticCurveTo(151,320,141,310);
   quadraticCurveTo(131,300,141,290);
   quadraticCurveTo(149,280,139,270);
   quadraticCurveTo(129,260,139,250);
   quadraticCurveTo(147,240,137,230);
   quadraticCurveTo(127,220,137,210);
   quadraticCurveTo(145,200,135,190);
   quadraticCurveTo(125,180,135,170);
   quadraticCurveTo(143,160,133,150);
   quadraticCurveTo(123,140,133,130);
   quadraticCurveTo(141,120,131,110);
   quadraticCurveTo(121,100,131,90);
   quadraticCurveTo(139,80,129,70);
   quadraticCurveTo(119,60,129,50);
   quadraticCurveTo(137,45,140,50);
   stroke();
   fill();
   closePath();
   //眼睛
   beginPath();
   strokeStyle="#000";
   fillStyle="#fff";
   arc(249,180,45,0,Math.PI*2,true);
   arc(341,180,45,0,Math.PI*2,true);
   stroke();
   fill();
   closePath();
   //眼仁
   beginPath();
   strokeStyle="#000";
   fillStyle="#50d1f1";
   arc(255,180,18,0,Math.PI*2,true);
   stroke();
   fill();
   closePath();
   beginPath();
   strokeStyle="#000";
   fillStyle="#50d1f1";
   arc(335,180,18,0,Math.PI*2,true);
   stroke();
   fill();
   closePath();
   //眼球
   beginPath();
   strokeStyle="#000";
   fillStyle="#000";
   arc(255,180,10,0,Math.PI*2,true);
   stroke();
   fill();
   closePath();
   beginPath();
   strokeStyle="#000";
   fillStyle="#000";
   arc(335,180,10,0,Math.PI*2,true);
   stroke();
   fill();
   closePath();
   //眼睫毛
   beginPath();
   lineWidth=6;
   strokeStyle="#000";
   moveTo(210,122);
   lineTo(223,142);
   moveTo(247,112);
   lineTo(247,133);
   moveTo(283,117);
   lineTo(270,140);
   moveTo(307,120);
   lineTo(320,140);
   moveTo(344,112);
   lineTo(344,133);
   moveTo(380,120);
   lineTo(365,140);
   stroke();
   closePath();
   //嘴角
   beginPath();
   fillStyle="#fdd06b"
   lineWidth=3;
   strokeStyle="#ca5939";
   moveTo(190,230);
   bezierCurveTo(160,175,265,190,230,230);
   stroke();
   fill();
   closePath();
   beginPath();
   fillStyle="#fdd06b"
   lineWidth=3;
   strokeStyle="#ca5939";
   moveTo(350,230);
   bezierCurveTo(325,175,435,190,395,230);
   stroke();
   fill();
   closePath();
   //牙
   beginPath();
   strokeStyle="#000";
   lineWidth=2;
   fillStyle="#fff";
   moveTo(275,272);
   lineTo(275,292);
   lineTo(295,292);
   lineTo(295,272);
   moveTo(300,272);
   lineTo(300,292);
   lineTo(320,292);
   lineTo(320,271);
   //rect(297,252,20,20);
   fill();
   stroke();
   closePath();
   //嘴
   beginPath();
   strokeStyle="#000";
   lineWidth=3;
   bezierCurveTo(210,220,290,340,380,220);
   stroke();
   closePath();
   beginPath();
   strokeStyle="#000";
   lineWidth=2;
   bezierCurveTo(205,225,205,215,220,220);
   stroke();
   closePath();
   beginPath();
   strokeStyle="#000";
   lineWidth=2;
   bezierCurveTo(370,220,380,215,385,225);
   stroke();
   closePath();
   //鼻子
   beginPath();
   strokeStyle="#000";
   lineWidth=3;
   fillStyle="#f5e262";
   moveTo(290,215);
   bezierCurveTo(265,170,340,185,300,225);
   stroke();
   fill();
   closePath();
   //下巴
   beginPath();
   strokeStyle="#cb662e";
   lineWidth=2;
   bezierCurveTo(250,305,270,330,290,310);
   quadraticCurveTo(300,305,310,310);
   quadraticCurveTo(330,330,350,305);
   shadowColor = "#cb662e"; 
   shadowOffsetX = 0; 
   shadowOffsetY = -3; 
   shadowBlur = 10; 
   stroke();
   closePath();
   //雀斑
   beginPath();
   fillStyle="#bf7627";
   arc(197,205,2,0,Math.PI*2,true);
   fill();
   closePath();
   beginPath();
   fillStyle="#bf7627";
   arc(210,214,2,0,Math.PI*2,true);
   fill();
   closePath();
   beginPath();
   fillStyle="#bf7627";
   arc(218,207,2,0,Math.PI*2,true);
   fill();
   closePath();
   beginPath();
   fillStyle="#bf7627";
   arc(367,205,2,0,Math.PI*2,true);
   fill();
   closePath();
   beginPath();
   fillStyle="#bf7627";
   arc(390,206,2,0,Math.PI*2,true);
   fill();
   closePath();
   beginPath();
   fillStyle="#bf7627";
   arc(380,213,2,0,Math.PI*2,true);
   fill();
   closePath();
   //皮鞋
   //左
   beginPath();
   strokeStyle="#000";
   fillStyle="#000";
   lineWidth=4;
   shadowColor = "#000"; 
   shadowOffsetX = 0; 
   shadowOffsetY = 0; 
   shadowBlur = 0; 
   arc(180,577,11,0,Math.PI*2,true);
   bezierCurveTo(185,560,197,575,207,560);
   moveTo(207,560);
   lineTo(217,560);
   quadraticCurveTo(227,570,217,585);
   quadraticCurveTo(197,580,180,585);
   quadraticCurveTo(207,561,185,570);
   rect(207,585,10,4)
   stroke();
   fill();
   //ctx.rotate( m * Math.PI / 180)
   closePath();
   //右
   beginPath();
   strokeStyle="#000";
   fillStyle="#000";
   lineWidth=4;
   shadowColor = "#000"; 
   shadowOffsetX = 0; 
   shadowOffsetY = 0; 
   shadowBlur = 0; 
   arc(405,577,11,0,Math.PI*2,true);
   bezierCurveTo(400,560,388,575,378,560);
   moveTo(378,560);
   lineTo(368,560);
   quadraticCurveTo(358,570,368,585);
   quadraticCurveTo(388,580,405,585);
   quadraticCurveTo(422,561,400,570);
   rect(368,585,10,4)
   stroke();
   fill();
   //ctx.rotate( m * Math.PI / 180)
   closePath();
   //白點
   beginPath();
   strokeStyle="#f5e262";
   fillStyle="#c4b127";
   fill();
   EvenCompEllipse(ctx, 160, 100, 10, 15);
   EvenCompEllipse(ctx, 150, 150, 5, 7);
   EvenCompEllipse(ctx, 200, 320, 7, 10)
   EvenCompEllipse(ctx, 225, 350, 11, 16)
   EvenCompEllipse(ctx, 425, 120, 11, 16)
   EvenCompEllipse(ctx, 410, 320, 9, 12)
   EvenCompEllipse(ctx, 380, 340, 6, 9)
   closePath();
  }
  function EvenCompEllipse(ctx, x, y, a, b)
  {
     ctx.save();
     //選擇a、b中的較大者作為arc方法的半徑參數
     var r = (a > b) ? a : b; 
     var ratioX = a / r; //橫軸縮放比率
     var ratioY = b / r; //縱軸縮放比率
     ctx.scale(ratioX, ratioY); //進行縮放(均勻壓縮)
     ctx.beginPath();
     //從橢圓的左端點開始逆時針繪制
     ctx.moveTo((x + a) / ratioX, y / ratioY);
     ctx.arc(x / ratioX, y / ratioY, r, 0, 2 * Math.PI);
     ctx.closePath();
     ctx.stroke();
     ctx.fill();
     ctx.restore();
  };
   
 </script>
</html>

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

標簽:廣西 咸寧 淮安 西寧 十堰 酒泉 佳木斯 南京

巨人網絡通訊聲明:本文標題《canvas簡易繪圖的實現(海綿寶寶篇)》,本文關鍵詞  canvas,簡易,繪圖,的,實現,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《canvas簡易繪圖的實現(海綿寶寶篇)》相關的同類信息!
  • 本頁收集關于canvas簡易繪圖的實現(海綿寶寶篇)的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    欧美色网一区二区| 97精品电影院| 亚洲一区二区三区精品在线| 国产成人午夜视频| 2024国产精品视频| 欧美色视频一区| 婷婷久久综合九色综合伊人色| 国产尤物一区二区在线| 在线观看视频一区| 亚洲丝袜精品丝袜在线| 国产精品一区二区你懂的| 不卡av在线网| 欧美大片顶级少妇| 国产黄色91视频| 综合中文字幕亚洲| 欧美性猛交xxxx黑人交| 免费看欧美美女黄的网站| 欧美日韩在线综合| 大桥未久av一区二区三区中文| 国产精品情趣视频| 偷拍与自拍一区| 粉嫩高潮美女一区二区三区| 欧美高清在线精品一区| 欧美制服丝袜第一页| 久久不见久久见中文字幕免费| 色婷婷综合久色| 亚洲成av人影院| 亚洲日本成人在线观看| 欧美大片国产精品| 日韩视频免费观看高清完整版| 日韩1区2区3区| 欧美一区二区大片| 国产成人在线色| 婷婷国产在线综合| 欧美私人免费视频| 日韩三级免费观看| 麻豆成人免费电影| 日本va欧美va精品| 国产网站一区二区| 欧美亚洲一区三区| 久久成人av少妇免费| 69精品人人人人| 色综合久久久久综合体| 免费人成精品欧美精品| 亚洲精品视频在线观看网站| 国产精品国产三级国产普通话蜜臀 | 在线观看av不卡| 国产.精品.日韩.另类.中文.在线.播放| 亚洲国产精品一区二区尤物区| 日韩av一级片| 日本一区中文字幕| 国产剧情av麻豆香蕉精品| 91啪亚洲精品| 精品国产欧美一区二区| 亚洲柠檬福利资源导航| 久久丁香综合五月国产三级网站| 国产福利不卡视频| 久久久久久久综合色一本| 视频一区二区三区中文字幕| 国产东北露脸精品视频| 欧美一区二区三区婷婷月色| 精品日韩一区二区三区| 精品一区二区在线视频| 日本女优在线视频一区二区| 色婷婷综合久久久中文一区二区| 欧美大片一区二区三区| 日本不卡在线视频| 69成人精品免费视频| 日韩不卡手机在线v区| 国产成人夜色高潮福利影视| 91成人网在线| 亚洲图片欧美综合| 91丨porny丨首页| 欧美大尺度电影在线| 亚洲在线成人精品| 精品捆绑美女sm三区| 国内不卡的二区三区中文字幕| 在线观看欧美日本| 亚洲色图19p| 麻豆一区二区在线| 国产精品二区一区二区aⅴ污介绍| 日本不卡高清视频| 日韩视频在线永久播放| 成人午夜精品在线| 亚洲婷婷综合色高清在线| 99久久精品国产精品久久| 久久这里只精品最新地址| 久久成人精品无人区| 亚洲二区在线观看| 国产亲近乱来精品视频 | 91精品在线免费观看| 麻豆精品久久精品色综合| 在线观看91av| 精品视频一区三区九区| 亚洲成人自拍偷拍| 久久先锋影音av鲁色资源网| 欧美日韩一级二级| 在线观看不卡一区| 国产91精品欧美| 亚洲va国产va欧美va观看| 欧美久久久久久久久中文字幕| 久久66热偷产精品| 午夜a成v人精品| 亚洲一区二区三区四区在线观看| 午夜电影一区二区| 午夜精品免费在线| 国产精品国产三级国产普通话三级| 欧美一区二区免费视频| 菠萝蜜视频在线观看一区| 国产一区二区女| 亚洲一区免费视频| 亚洲在线免费播放| 国产成人精品网址| 国产美女一区二区三区| 樱花草国产18久久久久| 亚洲欧美怡红院| 久久精品国产亚洲高清剧情介绍| 日韩美女精品在线| 欧美高清在线视频| 一区二区三区四区亚洲| 天堂蜜桃91精品| 亚洲综合激情另类小说区| 日韩欧美激情在线| 亚洲与欧洲av电影| 国产精品中文字幕欧美| 激情欧美一区二区| 丁香天五香天堂综合| 一区二区三区.www| 天天色综合成人网| 图片区小说区区亚洲影院| 亚洲成人黄色影院| 国产精品综合久久| 91久久精品一区二区二区| 欧美日韩大陆一区二区| 中文字幕一区二区日韩精品绯色| 久久久美女毛片| 韩国三级电影一区二区| 欧美综合欧美视频| 亚洲国产精品传媒在线观看| 麻豆国产一区二区| 欧美一区二区私人影院日本| 中文一区二区完整视频在线观看| 日本视频一区二区三区| 91精品国产综合久久香蕉麻豆| 欧美精品乱人伦久久久久久| 欧美一区二区人人喊爽| 自拍av一区二区三区| 欧美激情在线免费观看| 国产亲近乱来精品视频 | 午夜精品爽啪视频| 亚洲一区二区四区蜜桃| 国产福利一区在线观看| 亚洲精品久久久蜜桃| 95精品视频在线| 中文字幕亚洲欧美在线不卡| 欧美三级日韩在线| 亚洲日韩欧美一区二区在线| 99久久精品国产导航| 亚洲精品一区在线观看| 成人性色生活片免费看爆迷你毛片| 91精品国产一区二区三区香蕉| 久久不见久久见免费视频1| 欧美国产乱子伦| 久久这里只有精品视频网| 国产乱一区二区| 国产精品免费视频观看| 日韩三区在线观看| 91麻豆国产精品久久| 亚洲一区二区三区四区在线观看| 国产精品传媒入口麻豆| 亚洲欧洲无码一区二区三区| 欧美成人三级在线| 欧美久久久久久久久久| 欧美日本精品一区二区三区| 91久久奴性调教| 91成人在线免费观看| 色av成人天堂桃色av| 欧美性色aⅴ视频一区日韩精品| 91麻豆精品国产91久久久使用方法 | 国产呦萝稀缺另类资源| 亚洲国产日韩精品| 国产色产综合产在线视频| 久久综合色综合88| 亚洲免费看黄网站| 国产精品久久久久久久久晋中| 韩国v欧美v日本v亚洲v| 中文字幕一区二区三区乱码在线 | 日韩美一区二区三区| 亚洲精品日产精品乱码不卡| 国产精品少妇自拍| 天天爽夜夜爽夜夜爽精品视频| 国产精品白丝av| 91亚洲午夜精品久久久久久| 久久久久国产免费免费| 亚洲精品老司机| 丰满放荡岳乱妇91ww| 欧洲日韩一区二区三区| 国产欧美精品一区二区色综合| 日韩av中文字幕一区二区| 国产成人午夜高潮毛片|