易截截图软件、单文件、免安装、纯绿色、仅160KB

用 HTML Canvas 创建一个图片浏览器


颜 林
, 软件工程师, IBM
2009 年 12 月 10 日
HTML
5 引入了新的的网页元素:<canvas>。Canvas 是一片空白的绘图区域,网页开发者可以利用 JavaScript
在该区域中自由地进行 2D 绘图。Canvas 可以用于渲染华丽的网页设计界面。本文通过一个详细的实例来说明如何用 Canvas
来制作一个图片的浏览器。最终的效果可以达到 Flash 程序的效果。通过本文,读者可以了解如何使用 Canvas
的各种函数以及如何与用户事件进行交互,适合读者为 Web 设计和架构师。
HTML Canvas 介绍
HTML5
是目前正在讨论的新一代 HTML 标准,它代表了现在 Web 领域的最新的发展方向。在 HTML5
标准中,加入了新的多样的内容描述标签,直接支持表单验证,视频和音频标签,网页元素的拖拽,离线存储,工作线程等等。当然,其中一个最令人激动的新特性
就是新的标签类型 Canvas,开发人员可以通过该标签,在网页上直接用脚本进行绘图,产生各种 2D 渲染的效果。所以有人预言,HTML5 将是
Flash 和 Silverlight 的“杀手”。从 Firefox 1.5 开始就已经支持 Canvas,Safari 也是很早就开始支持
Canvas。新的浏览器比如 Chrome 也是从一开始就支持。但遗憾的是,到目前为止,IE 一直不支持该标准。
下面内容
将通过如何用 Canvas 来制作一个图片浏览器的具体实例,来说明 Canvas 的各种 API,如何使用这些 API
以及如何应用到工程中去。本文将首先介绍如何创建图片浏览器的网页和 JavaScript 类,介绍整体界面的设计,然后介绍如何用 Canvas
的 API 来绘制 2D 图形,然后介绍如何在 Canvas 上加载和绘制图像,接下来本例会在图片浏览器中加入其他基于 Canvas
的效果,最后是总结和展望。
回页首
创建图片浏览器框架
创建文件
首先我们创建一个新的 html 文件 thumbnail.html,加入如清单 1 所示的内容:
清单 1.thumbnail.html

<!DOCTYPE HTML>
<html>
<head>
<title>Canvas Based Thumbnail</title>
<style type="text/css">
body {
background: black;
color: white;
font: 24pt Baskerville, Times, Times New Roman, serif;
padding: 0;
margin: 0;
overflow: hidden;
}
</style>
<script type="text/javascript" src="thumbnail.js"></script>
</head>


相关文档:

关于HTML代码中ACTION事件如何指定servlet路径

\webapps\test 路径下ThreeParams.html:
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<title>TreeParams</title>
</head>
<body>
<form method="get" onsubmit="return true" name="form1" action="/test/tp">
<tabl ......

HTML特殊转义字符列表

HTML特殊转义字符列表
2009-11-10 15:45
如何显示空格?
通常情况下,HTML会自动截去多余的空格。不管你加多少空格,都被看做一个空格。比如你在两个字之间加了10个空格,HTML会截去9个空格,只保留一个。为了在网页中增加空格,你可以使用&nbsp;表示空格。
HTML特殊转义字符列表
最常用的字符实体
Character Ent ......

HTML事件


转载:http://jiangzhengjun.javaeye.com/blog/480996
事件
DOM同时支持两种事件模式:捕获型事件和冒泡型事件,但是,捕获型事件先发生。两种事件流会触及DOM中的所有对象,从document对象开
始,也在document对象结束(大部分兼容标准的浏览会继续将事件捕获/冒泡延续至window对象),DOM中的元素都会连续收到两次事 ......

html 中利用js调用隐藏div模仿对话框小例

<html>
<head>
    <script>  
  function   locking(){  
  document.all.ly.style.display="block";  
  document.all.ly.style.width=document.body.clientWidth;  
  document.all.ly.style.height ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号