您现在的位置:e-works > 百味书屋 > 书籍列表 > HTML5 Canvas核心技术—图形、动画与游戏开发 > 离屏canvas
第一章 基础知识 第一十零节 离屏canvas
Canvas技术的另一项重要功能就是可以创建并操作离屏canvas。举例来说,在大多数情况下,都可以把背景存储在一个或多个离屏canvas之中,并将这些离屏canvas中的某一部分复制到屏幕上,以此来大幅提高应用程序的性能。
离屏canvas的另一个用途就是制作我们在上一节中提到的那个钟表程序。那个应用程序向你展示了一种通用的解决方案,它需要用户通过交互界面将程序的显示方式从canvas切换为图像。不过,像时钟这样的应用程序,最好还是能在不需要用户干预的情况下,于幕后完成显示模式的切换。
图1-20之中所显示的是更新之后的时钟程序。应用程序每秒钟都会将时钟绘制到离屏canvas之中,然后将该canvas的数据地址设置为图形元素的src属性值,于是就形成了一幅反映离屏canvas内容变化的动画图像。有关canvas数据地址的更多信息,请参阅本书1.9节。
图1-20这个应用程序的HTML代码列在了程序清单1-13之中。
图1-20 使用离屏canvas 来绘制时钟图像
程序清单1-13 以图像方式实现的时钟程序(HTML代码)
<!DOCTYPE html>
<head>
<title>Image Clock</title>
<style>
body {
background: #dddddd;
}
#canvas {
display: none;
}
#snapshotImageElement {
position: absolute;
left: 10px;
margin: 20px;
border: thin solid #aaaaaa;
}
</style>
</head>
<body>
<img id='snapshotImageElement'/>
<canvas id='canvas' width='400' height='400'>
Canvas not supported
</canvas>
<script src='example.js'></script>
</body>
</html>
请注意HTML代码中canvas元素的CSS设定:canvas是不可见的,因为其display属性被设置为none了。这样的话,这个不可见的canvas就变成一个离屏canvas了。也可以使用编程的方式来创建离屏canvas,像是这样:
var offscreen = document.createElement('canvas');.
图1-20这个应用程序里面与离屏canvas有关的JavaScript代码,列在了程序清单1-14之中。
HTML5 Canvas核心技术—图形、动画与游戏开发
实际售价以e-works战略合作伙伴京东商城当日售价为准
同类图书点击排行榜