• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com专业计算机教程网站
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure
您的位置:首页 > 网页设计 >html5 > canvas中beginPath()和closePath()作用的实例解析

canvas中beginPath()和closePath()作用的实例解析

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2018-12-03

本文主要包含canvas等相关知识,匿名希望在学习及工作中可以帮助到您
本篇文章给大家带来的内容是关于canvas中beginPath()和closePath()作用的实例解析,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

beginPath的作用很简单,就是开始一段新的路径,但在使用canvas绘图的过程中却非常重要

先来看一小段代码:

var ctx=document.getElementById("canvas").getContext("2d");
    ctx.beginPath();
    ctx.rect(150,150,100,100);
    ctx.fillStyle="green";
    ctx.fill();
    ctx.rect(0,0,100,100);
    ctx.fillStyle="yellow";
    ctx.fill();

我们的代码没有错误,但得到的却是两个边长100px的黄色的正方形,而不是一绿一黄,这是为什么呢?

事实上,canvas中的绘制方法(fill,stoke),都会以上一次“beginPath”之后的所有路径进行绘制,在上面的代码中第一个矩形fill了两次,第一次绿色,第二次黄色,所以得到了两个黄色矩形,同样的对于画线段,或其他曲线,图形,不管你moveTo到哪,只要你没有beiginPath,你都是在画一条路径。

如果你画的图形和你想象的不一致,记得查看一下beginPath

谈到beginPath就不得不提一下closePath,事实上两者并无关系,closePath的意思是关闭路径,不是结束路径,它只是将路径的终点与起点相连,不是开始一个新路径。

我们在上面代码中第一个fill的后面添加一个closePath,得到的仍是两个黄色矩形。

但我们在后面添加一个beginPath,则得到两个不同颜色的矩形。

总而言之,不要试图通过闭合一段路径来开始新的路径,而且如果你不闭合路径,即使开始新的路径,其也不会闭合。

以上就是canvas中beginPath()和closePath()作用的实例解析的详细内容,更多请关注微课江湖其它相关文章!

您可能想查找下面的文章:

相关文章

  • 2018-12-03html5页面rem布局适配方法详解
  • 2018-12-03Canvas实现旋转风车的绘制
  • 2018-12-03HTML5的集合
  • 2017-08-06HTML5到底会有什么发展?HTML5的前景展望
  • 2018-12-037 个让人惊叹的 HTML5 鼠标动画图文详解
  • 2018-12-03html5和css3 动态气泡按钮的实现
  • 2018-12-03苹果官网设计翻转特效如何实现?
  • 2018-12-03小强的HTML5移动开发之路(44)——JqueryMobile中的按钮
  • 2018-12-03关于Canvas与Image的互相转换
  • 2018-12-03H5 Canvas API中drawImage(图像进行缩放或裁剪)的使用实例

文章分类

  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure

最近更新的内容

    • 为什么英特尔要力推HTML5?
    • NodeJS与HTML5相结合实现拖拽多个文件上传到服务器的实现方法
    • HTML5高级编程之图形扭曲及其应用一(原理篇)
    • 想做一个H5,想请教一般需要如何构思创意及思路?
    • H5做视频直播
    • html5怎么实现图片转圈的动画效果
    • 小程序学习之如何获取地理定位并显示城市名称
    • 怎样实现H5微信播放全屏
    • 如何自动获取HTML5的data-*属性示例代码详解
    • html5中float属性造成的换行如何处理

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有