canvas画doraemon

html部分:

快去升级你的浏览器吧!

js 部分:

var ctx = document.getElementById('doraemon').getContext('2d');   //  getContext() 方法返回一个用于在画布上绘图的环境。

//  头部

ctx.beginPath(); // 起始一条路径,或重置当前路径

ctx.lineWidth = 2;

ctx.strokeStyle = '#000';

ctx.beginPath(); ctx.moveTo(82, 300);

ctx.bezierCurveTo(-31, 172, 36, 0, 200, 0);

ctx.bezierCurveTo(364, 0, 432, 172, 318, 300);

ctx.fillStyle = '#029AE3';

ctx.fill();

ctx.stroke();

ctx.beginPath();

ctx.moveTo(90, 300);

ctx.bezierCurveTo(10, 177, 30, 50, 200, 60);

ctx.bezierCurveTo(370, 50, 390, 177, 310, 300);

ctx.fillStyle = '#FDFDFD';

ctx.fill();

ctx.stroke();

// 眼睛

ctx.beginPath();

ctx.moveTo(127, 50);

ctx.bezierCurveTo(127, -6, 200, -6, 200, 50);

ctx.bezierCurveTo(198, 106, 127, 106, 127, 50);

ctx.moveTo(164, 60); // 把路径移动到画布中的指定点,不创建路径。

ctx.quadraticCurveTo(177, 30, 190, 60);

ctx.fillStyle = '#FDFDFD';

ctx.fill(); ctx.stroke(); ctx.beginPath();

ctx.moveTo(200, 50);

ctx.bezierCurveTo(200, -6, 273, -6, 273, 50);

ctx.bezierCurveTo(271, 106, 200, 106, 200, 50);

ctx.moveTo(214, 60); // 把路径移动到画布中的指定点,不创建路径。

ctx.quadraticCurveTo(227, 30, 240, 60);

ctx.fillStyle = '#FDFDFD';

ctx.fill();

ctx.stroke();

// 鼻子

ctx.beginPath();

ctx.arc(200, 103, 25, 0, 2*Math.PI); // 坐标,半径,起始位置

ctx.fillStyle = '#DC1025';

ctx.fill();

ctx.moveTo(200, 129);

ctx.lineTo(200, 252);

ctx.closePath(); // closePath() 方法创建从当前点到开始点的路径。

ctx.stroke();

ctx.beginPath();

ctx.arc(195, 93, 9, 0, 2*Math.PI); // 坐标,半径,起始位置

ctx.fillStyle = '#FDFDFD'; ctx.fill();

// 胡须

ctx.beginPath();

ctx.moveTo(80, 100);

ctx.lineTo(165, 130);

ctx.closePath();

ctx.moveTo(58, 152);

ctx.lineTo(160, 156);

ctx.closePath();

ctx.moveTo(62, 196);

ctx.lineTo(165, 182);

ctx.closePath();

ctx.moveTo(233, 130);

ctx.lineTo(320, 100);

ctx.closePath();

ctx.moveTo(237, 156);

ctx.lineTo(343, 152);

ctx.closePath();

ctx.moveTo(235, 182);

ctx.lineTo(340, 196);

ctx.closePath();

ctx.stroke();

// 嘴巴

ctx.beginPath();

ctx.moveTo(75, 170);

ctx.quadraticCurveTo(200, 336, 335, 170);

ctx.stroke();

// 围巾

ctx.beginPath();

ctx.moveTo(80, 311);

ctx.quadraticCurveTo(75, 302, 80, 296);

ctx.quadraticCurveTo(200, 302, 322, 296);

ctx.quadraticCurveTo(330, 302, 322, 311);

ctx.quadraticCurveTo(200, 322, 80, 311);

ctx.fillStyle = '#DC1025';

ctx.fill();

ctx.stroke();

// 铃铛

ctx.beginPath();

ctx.arc(200, 336, 33, 0, 2*Math.PI);

ctx.fillStyle = '#FEDE4A';

ctx.fill();

ctx.stroke();

ctx.beginPath();

ctx.arc(200, 345, 8, 0, 2*Math.PI);

ctx.fillStyle = '#7A674D';

ctx.fill();

ctx.moveTo(200, 353);

ctx.lineTo(200, 369);

ctx.stroke();

ctx.beginPath();

ctx.moveTo(168, 330);

ctx.bezierCurveTo(140, 320, 258, 320, 233, 330);

ctx.quadraticCurveTo(200, 325, 168, 330);

ctx.fillStyle = '#FEDE4A';

ctx.fill();

ctx.stroke();

// 身体

ctx.beginPath();

ctx.moveTo(40, 375);

ctx.quadraticCurveTo(50, 335, 80, 311);

ctx.lineTo(322, 311);

ctx.quadraticCurveTo(350, 335, 360, 375);

ctx.fillStyle = '#029AE3';

ctx.fillRect(40, 375, 310, 20);

ctx.fill();

ctx.stroke();

ctx.beginPath();

ctx.arc(44, 414, 41, 0, 2*Math.PI);

ctx.fillStyle = '#FDFDFD'; ctx.fill();

ctx.stroke(); ctx.beginPath();

ctx.arc(356, 414, 41, 0, 2*Math.PI);

ctx.fillStyle = '#FDFDFD';

ctx.fill();

ctx.stroke();

ctx.beginPath();

ctx.moveTo(80, 340);

ctx.quadraticCurveTo(70, 400, 96, 510);

ctx.quadraticCurveTo(145, 520, 200, 515);

ctx.quadraticCurveTo(255, 520, 304, 510);

ctx.quadraticCurveTo(330, 400, 320, 340);

ctx.fillStyle = '#029AE3';

ctx.fill();

ctx.stroke();

// 袋子

ctx.beginPath();

ctx.moveTo(100, 401);

ctx.bezierCurveTo(78, 266, 320, 267, 300, 401);

ctx.bezierCurveTo(290, 510, 110, 510, 100, 401);

ctx.fillStyle = '#FDFDFD';

ctx.fill(); ctx.moveTo(116, 391);

ctx.bezierCurveTo(125, 485, 283, 485, 284, 391);

ctx.quadraticCurveTo(200, 380, 116, 391);

ctx.stroke();

// 脚

ctx.beginPath();

ctx.moveTo(96, 510);

ctx.bezierCurveTo(70, 510, 63, 519, 62, 539);

ctx.bezierCurveTo(57, 561, 163, 564, 200, 551);

ctx.bezierCurveTo(237, 564, 343, 561, 338, 539);

ctx.bezierCurveTo(337, 519, 330, 510, 304, 510);

ctx.fillStyle = '#FDFDFD';

ctx.fill();

ctx.stroke();

ctx.beginPath();

ctx.moveTo(200, 497);

ctx.lineTo(200, 551);

ctx.moveTo(190, 497);

ctx.lineTo(210, 497);

ctx.stroke();

完成哈哈哈哈

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,847评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,208评论 1 292
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,587评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,942评论 0 205
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,332评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,587评论 1 218
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,853评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,568评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,273评论 1 242
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,542评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,033评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,373评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,031评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,073评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,830评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,628评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,537评论 2 269

推荐阅读更多精彩内容

  • 一:canvas简介 1.1什么是canvas? ①:canvas是HTML5提供的一种新标签 ②:HTML5 ...
    GreenHand1阅读 4,606评论 2 32
  • 最近在学H5的一些新特性,尤其对其中的canvas特别感兴趣,自己画了一个哆啦A梦,纪念一下童年最爱的那个大蓝猫🐱...
    熊小猫爱唱歌阅读 1,617评论 1 2
  • 一、canvas简介 1.1 什么是canvas?(了解) 是HTML5提供的一种新标签 Canvas是一个矩形区...
    Looog阅读 3,858评论 3 40
  • 狄更斯说:“这是一个最好的时代,也是个最坏的时代。” 作为手机互联网成熟的年代,各种自媒体,IM可以做到24小时在...
    汉口张叔叔阅读 121评论 1 2
  • 我认为的时间管理终极底层逻辑:时间是不能被管理的,最后需要管理的是我们自身。 kill the fasion:一切...
    果大喵喵阅读 483评论 0 0