目录

HTML5的绘图步骤

1、创建画布

2、获取画布

3、获取画笔

4、绘制图形

绘制火柴人

1、源代码

2、运行效果

HTML5的绘图步骤

1、创建画布

<canvas id="画布名称" width="宽度" height="高度"></canvas>

2、获取画布

var canvas = document.getElementById('画布名称')

3、获取画笔

var context = canvas.getContext('2d')

4、绘制图形

(1)绘制直线:
         A、设置起始点:context.moveTo(x,y)
               设置线条的宽度:context.lineWidth = '宽度'
               设置端点的形状:context.lineCap = '属性值'    取值有:butt(默认值)、round(圆形)、square(方形)
         B、设置端点:context.lineTo(x,y)
              设置线条的样式:context.strokeStyle='颜色值'
         C、描边:context.stroke( )

注:在绘制图形时要注意逻辑顺序。eg:若是图形已经描边context.stroke( ),这时在其后设置线条的样式:context.strokeStyle='颜色值',线条的颜色不会发生任何改变。因为计算机运行代码从前往后,这时描边已经完成,无法再加颜色。

eg:绘制一条红色的线段

        //1、获取画布var canvas = document.getElementById('cans')//2、准备画笔var context = canvas.getContext('2d')//3、设置起点context.moveTo(20,100)//4、设置线条宽度context.lineWidth = '15'context.lineCap='round'   //设置端点的形状,butt(默认值,不带端点)、round(圆形)、square(方形)//5、设置端点context.lineTo(200,100)//6、设置线条颜色context.strokeStyle = 'red'//7、描边context.stroke()

代码运行效果图:

(2)重置路径:beginPath();在一张画布上绘制多个图形,要重新定义开始的路径。不重新定义,则下个图形的起始点默认与前一个图形的起始点相同,就会发生图形重叠。
      (3)关闭路径:closePath();用于连接图形的起始点和端点,使绘制的图形成为封闭图形。
      (4)路径填充:fill();填充封闭图形内部的留白。

        var canvas = document.getElementById('cans')  //获取画布var context = canvas.getContext('2d')         //准备画笔context.moveTo(100,100)//设置起始点context.lineTo(100,200)//设置端点context.lineTo(200,200)//设置端点context.closePath()    //关闭路径context.fill()  //填充路径

代码运行效果图:


      (5)绘制圆:arc(x,y,r,开始角,结束角,方向);  方向取值:true(逆时针)、false(顺时针)

        var canvas = document.getElementById('cans')var ctx = canvas.getContext('2d')ctx.beginPath()//重置路径ctx.arc(100,100,80,0,1.5*Math.PI,true)//表示逆时针画1/4圆。true表示逆时针,false表示顺时针//前俩值确定圆心位置,100,100。80表示圆的半径。0,1.5*Math.PI表示弧度,true表示逆时针ctx.stroke()

代码运行效果图1/4圆弧

绘制火柴人

1、源代码

<body><canvas id="cans" width="1000px" height="1000px">您的浏览器不支持画布      <!--只有浏览器不能运行,才回显示出开始结束标签之间的内容--></canvas><script>var canvas = document.getElementById('cans')var ctx = canvas.getContext('2d')//绘制头部  ctx.lineWidth = '5'ctx.arc(500,100,38,0,2*Math.PI,false)ctx.stroke()//绘制躯干//绘制脖子ctx.beginPath()ctx.lineWidth = '10'ctx.moveTo(500,140)ctx.lineTo(500,160)ctx.stroke()//绘制身体ctx.beginPath()ctx.lineWidth = '30'ctx.moveTo(500,160)ctx.lineTo(500,290)ctx.stroke()//绘制文件夹ctx.beginPath()ctx.lineWidth = '2'ctx.fillStyle='red'ctx.moveTo(450,230)ctx.lineTo(450,280)ctx.lineTo(550,280)ctx.lineTo(550,230)ctx.fill()ctx.closePath()ctx.stroke()  //描边//绘制胳膊ctx.beginPath()ctx.lineWidth = '8'ctx.moveTo(510,165)ctx.lineTo(552,225)ctx.lineTo(500,270)ctx.stroke()//绘制手掌ctx.beginPath()ctx.lineWidth = '5'ctx.arc(500,270,10,0,2*Math.PI,false)ctx.fillStyle = 'black'ctx.fill()ctx.stroke()//绘制腿部//前腿ctx.beginPath()ctx.lineWidth = '10'ctx.moveTo(500,285)ctx.lineTo(480,450)ctx.stroke()//后腿ctx.beginPath()ctx.lineWidth = '10'ctx.moveTo(500,285)ctx.lineTo(520,450)ctx.stroke()//绘制脚部//前脚ctx.beginPath()ctx.lineWidth = '5'ctx.arc(466,450,15,1.0*Math.PI,2*Math.PI,false)ctx.closePath()ctx.stroke()//后脚ctx.beginPath()ctx.lineWidth = '5'ctx.arc(506,450,15,1.0*Math.PI,2*Math.PI,false)ctx.closePath()ctx.stroke()</script>
</body>

2、运行效果

HTML5的绘图步骤——示例绘制火柴人相关推荐

  1. 怎么用python画火柴人_如何用ai绘制火柴人的教程

    今天小编带来的是Illustrator的绘制教程,是绘制火柴人噢.下面请看步骤: 工具/原料 电脑 Illustrator软件 方法/步骤 1 首先打开空白文档 END 方法/步骤2 1 点击椭圆形工 ...

  2. canvas绘制火柴人

    <!doctype html> <html> <head> <!--canvas绘制火柴人--> <style> #huaban{ bord ...

  3. 使用html画简单的图形,HTML5 Canvas 绘图——使用 Canvas 绘制图形图文教程 使用html5 canvas 绘制精美的图...

    HTML5火的正热,最近有个想法也是要用到HTML的相关功能,所以也要好好学习一把. 好好看了一下Canvas的功能,感觉HTML5在客户端交互的功能性越来越强了,今天看了一下Canvas绘图,下边是 ...

  4. 2020级C语言大作业 - 火柴人打羽毛球

    分享20级同学大一上学期用C语言(及少量C++)实现的火柴人打羽毛球.由于同学们刚学了三个月的编程,实现还不够完善,工程代码.图片音乐素材可以从百度网盘下载: 链接:https://pan.baidu ...

  5. 《Java代码成精了——会跳萨日朗的火柴人》实现步骤三:绘画火柴人

    在此之前,我们已经实现项目的第二步,处理了每一张图的颜色,我们让小人的颜色是黑色,背景整体调整为白色.本小节要做的就是在这些图片上进行绘画火柴人.因为我们绘画水平有限,我们希望在原图片的轮廓上进行绘画 ...

  6. html5 canvas 画阿迪达斯logo,HTML5 Canvas笔记——HTML5 Canvas绘图绘制太极图

    HTML5 Canvas绘图绘制太极图 太极图 * { padding: 0; margin: 0; } body { } #myCanvas { background-color: #eee; } ...

  7. 火柴人部落大乱斗html5游戏在线玩,火柴人部落战争

    火柴人部落战争手游是一款最新的动作闯关休闲玩法手游,游戏中玩家可以自由操控火柴人开启大乱斗,在这里自由经营你的国度,收集武器装备,部落战争激情开战,对游戏感兴趣的话不妨点击下载尝试体验吧! 火柴人部落 ...

  8. 微信火柴人html5小游戏,20个好玩的微信小游戏推荐!你玩过几个?

    50000+游戏爱好者已加入我们! 每天推荐好玩游戏! 加入我们,沐沐带你发现好游戏! 只有你想不到, 没有我找不到的好游戏! 「良心好游戏推荐」 搜罗了好玩的微信小游戏大全, 模拟经营游戏.恐怖游戏 ...

  9. 几分钟让小孩的人物涂鸦「动起来」,Meta AI创建了一个奇妙的火柴人世界

    视学算法报道 编辑:杜伟.陈萍 Meta AI 让儿童手绘「活」了起来. 你有没有想过将一张儿童绘画制作成动画?就如下图,儿童能够绘制出独特和富有创造力的人物和动物:长着双脚的星星.腿超级长的鸟-- ...

最新文章

  1. Win7旗舰版系统右键菜单响应速度很慢会延迟一段时间
  2. 一位铁粉的分享:阿里面试归来总结面经,已成功斩获P6 offer...
  3. 安卓隐藏摄像_侧置摄像与隐藏前摄,拒绝单调乏味,这两款国产5G手机独具匠心...
  4. Angular实现悬浮球组件
  5. Ubuntu 12.10连接米2
  6. linux中时间片,能讲一下在Linux系统中时间片是怎么分配的还有优先级的具体算法是...
  7. C++:fseek( FILE *stream, long offset, int origin )
  8. 对象流 ObjectOutputStream java
  9. java编写正则表达式引擎_从0到1打造正则表达式执行引擎(一)
  10. p1198bzoj1012 最大数
  11. 百度seo排名点击器app_手机端百度搜索排名seo优化_百度移动端整站关键词排名优化...
  12. csrss.exe和winlogon.exe引起cpu居高不下的解决办法
  13. windows_2008_server无法安装vcredist_x64
  14. 2020年系统集成项目管理工程师上午真题及答案(一)
  15. 使用AIL(Android Init Language)解释servicemanager.rc语句作用
  16. 如何以2万美元出售你的软件
  17. ENVI处理高分一号PMS影像数据
  18. 部分PTA的入门习题以及题解
  19. nc oracle 导入工具,Oracle Instanc Client安装命令工具
  20. gentoo问题汇总

热门文章

  1. [业务流程]JWT实现单点登录(SpringBoot + Vue +axious)
  2. MySql格式化小数保留小数点后两位
  3. 你测试OK了吗——浅谈测试通过标准
  4. 经典按键算法使用心得
  5. 计算机二级考试Python考试内容大纲,二级考试还是很简单的
  6. 算法模型---树相关---决策树
  7. css常用的属性(边框三角形,文本省略号)
  8. 有度即时通系统安全技术原理
  9. 关于泰泽-泰泽官网介绍
  10. Ubuntu系统安装 –修复USB启动盘 “can’t open /dev/sr0: No medium found” 问题