《HTML5 canvas开发详解(第2版)》——1.8 2D环境及其当前状态
教程管理员 发布于2023-09-26 22:35 HTML教程 147
本节书摘来自异步社区《HTML5 canvas开发详解(第2版)》一书中的第1章,第1.8节,作者: 【美】Steve Fulton , Jeff Fulton 更多章节内容可以访问云栖社区“异步社区”公众号查看。
1.8 2D环境及其当前状态
通过调用Canvas对象的getContext()方法可以获得HTML5的2D环境对象(Canvas RenderingContext2D对象)。所有操作都要通过该对象进行。CanvasRenderingContext2D对象包含了在画布上绘图所需的所有方法和属性。CanvasRenderingContext2D(简称环境,后同)采用画布左上角为原点(0,0)的笛卡尔坐标系,坐标轴向右、向下为正方向。
然而,所有这些属性和方法都与当前状态关联使用。当前状态是一个必须掌握的概念。它可以帮助读者真正理解HTML5 Canvas的工作方式。实际上,当前状态是一个绘制状态的堆栈,这些状态可以应用到整个画布。在画布上绘制时将操作这些状态。主要包括以下状态。
- 变换矩阵:缩放、旋转、变换以及平移的方法。
- 裁切区域:通过clip()方法创建。
- 上下文属性:包括strokeStyle、fillStyle、globalAlpha、lineWidth、lineCap、line、Join、miterLimit、shadowOffsetX、shadowOffsetY、shadowBlur、shadowColor、global、CompositeOperation、font、textAlign和textBaseline。
不必担心,虽然读者现在还不熟悉这些属性,但是后面3章将深入讨论这些属性。
读者是否还记得本章前面讨论的即时模式与保留模式?Canvas是一个即时模式的绘图界面,这就意味着如果什么东西发生了变化就需要即时重新绘制。这样做有以下好处:例如,全局属性很容易将效果应用到整个屏幕。一旦读者想好了,每次重新绘制屏幕的动作都有一个直接并且简单的画布绘制更新过程。
另一个方面,保留模式采用一个绘制界面储存一组对象,并通过一个显示列表来操作。Flash和Silverlight就是使用这种模式。如果应用程序依赖多个拥有独立状态的对象,使用保留模式创建应用程序会很有用。许多能够充分利用画布功能的应用程序(如游戏、活动、动画)都是相同的。这些程序通常很容易在保留模式的绘图界面下进行编码,尤其对于初学者来说。
这里面临的挑战是,既要利用即时模式绘图界面的优势,又要为代码增加更多的功能,以使程序就像工作在保留模式下一样。本书将讨论改善即时模式操作方式的策略,以及如何通过代码使其很容易操作。
相关推荐
- 10-04 在HTML中取得请求中的参数
- 10-04 SharePoint 2013 母版页取消和HTML页关联
- 10-04 29行代码使用HTML5 Canvas API绘制一颗红心
- 10-04 浏览器加载和渲染html的顺序,Div和Table的区别
- 10-04 《HTML5完美游戏开发》——2.6 Processing.js实例和整合
- 10-04 如何关闭Struts2的webconsole.html
- 10-04 《HTML5 开发实例大全》——1.4 使用CSS修饰HTML 5页面
- 10-04 《HTML5游戏编程核心技术与实战》——2.8 小结
- 10-04 腾讯视频生成的Html代码
- 10-04 ie下tbody的innerhtml属性只读
- 控制面板
- 友情链接
- 最近发表
-
- 涂鸦而不乱简约艺术主题Office PPT免费模板背景素材下载
- 有创意的情人表白动态贺卡Office PPT免费模板背景素材下载
- 绿色简约技能竞赛电力Office PPT免费模板背景素材下载
- 极简几何商务蓝年终总结汇报Office PPT免费模板背景素材下载
- 蓝橙简约商务年终总结汇报Office PPT免费模板背景素材下载
- 绿色清新教育风课堂教学通用Office PPT免费模板背景素材下载
- 潮流复古艺术感年终总结Office PPT免费模板背景素材下载
- 浅绿商务风工作总结报告Office PPT免费模板背景素材下载
- 大气简约时尚年终总结汇报Office PPT免费模板背景素材下载
- 喜庆春节风公司年终誓师表彰大会Office PPT免费模板背景素材下载
- 最新留言
-