canvas的Beginpath和Closepath理解
来源:互联网 发布:京东骇客和淘宝血滴子 编辑:程序博客网 时间:2024/04/29 10:33
beginPath()方法
其中的0.5是为了避免线条模糊问题。那么上面的代码会得到什么样的图形呢?是不是一条黑线一条红线呢?
从代码上看,我们的逻辑毫无问题,但结果是我们得到的是两条红线,并不是一黑一红。
如果你明白这是为什么,那后面的你就不用看了。这就是beginPath的重要性。
canvas中的绘制方法(如stroke,fill),都会以“上一次beginPath”之后的所有路径为基础进行绘制。比如上面的代码里面我stroke了两次,其实这两次都是以第一次beginPath后的所有路径为基础画的。也就是说第一条路径我们stroke了两下,第一下是黑的,第二下是红的,所以最终也是红的。
- 不管你用moveTo把画笔移动到哪里,只要不beginPath,那你一直都是在画一条路径。
- fillRect与strokeRect这种直接画出独立区域的函数,也 不 会打断当前的path.
如果你画出的图形和你想像的不一样,记得查看是否有合理的beginPath.
————————————–
说到 beginPath ,就不得不提到 closePath ,两者是不是有很“紧”的联系呢?答案是 几乎没有关系 。
closePath的意思不是结束路径,而是 关闭 路径,它会试图从当前路径的终点连一条路径到起点,让整个路径闭合起来。但是,这并不意味着它之后的路径就是新路径了!
我们在上面的代码的第一个lineTo后面加上closePath,可以发现还是得到了两条红线。
但如果我们在第一个stroke后面加上beginPath,则会如愿得到一条黑线一条红线。
总而言之,就是 不要企图通过闭合现有路径来开始一条新路径 ,而开始一条新路径,以前的路径也不会闭合。
0 0
- canvas关于Beginpath和Closepath的理解
- canvas的Beginpath和Closepath理解
- canvas beginPath()和closePath()
- 自己理解canvas里面的beginPath();closePath();save();restore();
- 关于beginPath()和closePath()的关系>>canvas的beginPath和closePath分析总结,包括多段弧的情况
- beginPath()和closePath()
- 浅谈HTML5中canvas中的beginPath()和closePath()
- 关于canvas的lineTo()方法和ClosePath()
- 【Html5每日练习】canvas beginPath()的理解
- Canvas中beginPath的重要性
- BeginPath 和 EndPath的用法
- beginPath()和endPath()的介绍
- stroke和closePath
- [HTML5]canvas元素中beginPath()方法
- canvas之save组&beginpath组
- Android canvas.save()和canvas.restore()的理解
- Android canvas.save()和canvas.restore()的理解
- 【HTML5 canvas】关于canvas标签的理解和简单应用
- 初次接触JavaScript和PHP感想
- RobotFramework环境配置一:默认以管理员权限运行cmd
- Chrome开发者工具不完全指南:(三、性能篇)
- 历届试题 方格填数 (全排列)
- Servlet 3.0 新特性详解
- canvas的Beginpath和Closepath理解
- DG 日志应用服务
- 基础练习——查找整数
- Boredom
- Log4j按级别输出日志到不同文件配置分析
- 241. Different Ways to Add Parentheses
- Javascript运动 各个运动bug以及仿Flash的图片轮换实例
- N个数求和
- 算法提高 概率计算 (概率dp)