教你如何利用canvas画布绘制哆啦A梦

简介: 订阅专栏教你如何利用canvas画布绘制哆啦A梦最近一直在练习使用canvas画布标签,今天教大家如何使用canvas画布绘制哆啦A梦。如图:HTML代码: <canvas id="my_canvas"></canvas>1CSS代码: canvas { display:block; margin:0 auto; background: pink }12345JavaScript代码: var oCanvas = document.getEleme

教你如何利用canvas画布绘制哆啦A梦




最近一直在练习使用canvas画布标签,今天教大家如何使用canvas画布绘制哆啦A梦。如图:



image.png


HTML代码:<canvasid="my_canvas"></canvas>1CSS代码:canvas {
display:block;
margin:0auto;
background: pink        }
12345JavaScript代码:varoCanvas=document.getElementById("my_canvas");
oCanvas.width=600;
oCanvas.height=600;
varcontext=oCanvas.getContext("2d");
// document.onclick = function (ev) {//     console.log(ev.pageX, ev.pageY)// }// 1.大脑袋context.beginPath();
context.arc(300, 300, 250, 0, Math.PI*2);
context.lineWidth="5";
context.stroke();
context.fillStyle="rgb(34,118,207)";
context.fill();
// 2.大脸蛋子// context.scale(1,0.9);// context.beginPath();// context.arc(300,410,200,0,Math.PI*2);// context.lineWidth="5";// context.stroke();// context.ellipse(x,y,r1,r2,旋转的角度,起始角度,结束角度)context.beginPath();
context.ellipse(300, 380, 200, 170, 0, 0, Math.PI*2);
context.stroke();
context.fillStyle="white";
context.fill();
// 3.大嘴巴子context.beginPath();
context.arc(300, 460, 50, 0, Math.PI*2);
context.stroke();
context.fillStyle="black";
context.fill();
context.beginPath();
context.ellipse(300, 470, 48, 40, 0, 0, Math.PI*2);
context.stroke();
context.fillStyle="red";
context.fill();
// 4.大眼珠子context.beginPath();
context.ellipse(248, 230, 50, 60, 0, 0, Math.PI*2);
context.stroke();
context.fillStyle="white";
context.fill();
context.beginPath();
context.ellipse(270, 230, 20, 30, 0, 0, Math.PI*2);
context.stroke();
context.fillStyle="black";
context.fill();
context.beginPath();
context.ellipse(270, 230, 5, 10, 0, 0, Math.PI*2);
context.stroke();
context.fillStyle="white";
context.fill();
context.beginPath();
context.ellipse(352, 230, 50, 60, 0, 0, Math.PI*2);
context.stroke();
context.fillStyle="white";
context.fill();
context.beginPath();
context.ellipse(330, 230, 20, 30, 0, 0, Math.PI*2);
context.stroke();
context.fillStyle="black";
context.fill();
context.beginPath();
context.ellipse(330, 230, 5, 10, 0, 0, Math.PI*2);
context.stroke();
context.fillStyle="white";
context.fill();
// 5.大鼻子context.beginPath();
context.lineWidth="3";
context.arc(300, 290, 30, 0, 2*Math.PI);
context.stroke();
context.fillStyle="red";
context.fill();
// 6.画胡子context.lineWidth="5";
huzi(125,294,230,335);
huzi(113,370,222,366);
huzi(125,434,222,398);
huzi(376,335,465,282);
huzi(385,369,490,354);
huzi(385,400,488,420);
// 画胡子的方法functionhuzi(x1, y1, x2, y2) {
context.beginPath();
context.moveTo(x1, y1);
context.lineTo(x2, y2);
context.stroke();
    }


总结: 绘制哆啦A梦的头部其实很简单,只需要知道人如何绘制圆形和线条即可,同时要知道图层的前后顺序。


视频讲解链接:


https://www.bilibili.com/video/BV1454y1Q7Aq/


相关文章
|
前端开发 JavaScript 定位技术
threejs绘制风羽
threejs绘制风羽
272 0
|
小程序 前端开发
微信小程序中使用画布canvas实现动态心电图绘制
微信小程序中使用画布canvas实现动态心电图绘制
715 0
|
2月前
Threejs绘制圆锥体
这篇文章讲解了如何在Three.js中创建并正确定向圆锥体,确保其在不同场景下的稳定显示,涵盖了生成圆锥体几何体、设置材质和纹理以及解决可能的倾斜显示问题等内容。
51 1
Threejs绘制圆锥体
|
2月前
Threejs绘制传送带
这篇文章详细介绍了如何使用Three.js绘制一个动态的传送带模型,包括传送带的几何体创建、纹理应用以及实现带体循环移动的动画效果。
40 0
Threejs绘制传送带
|
2月前
Pixi入门第二章:绘制各种图形
这篇文章是Pixi.js入门系列的第二章,重点在于如何使用Pixi.js绘制各种基本图形,如矩形、圆角矩形、圆形和椭圆,并提供了具体的代码示例。
75 0
Pixi入门第二章:绘制各种图形
|
5月前
|
前端开发
Canvas添加了橡皮擦工具的画板项目和只能画圆的源码
Canvas添加了橡皮擦工具的画板项目和只能画圆的源码
|
5月前
|
移动开发 前端开发 HTML5
Canvas画布之100个小球弹射源码
Canvas画布之100个小球弹射源码
|
6月前
|
数据可视化 JavaScript 前端开发
使用 ECharts 绘制3D饼图,立体效果华丽渲染!
使用 ECharts 绘制3D饼图,立体效果华丽渲染!
|
7月前
|
移动开发 前端开发 HTML5
使用canvas绘制超炫时钟
使用canvas绘制超炫时钟
35 3
使用canvas绘制超炫时钟
|
前端开发
前端 SVG 与 Canvas 框架案例 (画线、矩形、箭头、文字 ....)
前端 SVG 与 Canvas 框架案例 (画线、矩形、箭头、文字 ....)
146 0