HTML5和canvas元素入门

日期: 2011-03-07 作者:Bill Brogden翻译:刘志超 来源:TechTarget中国 英文

1995年,Sun和Netscape公司(还记得他们吗?)第一次演示运行在Netscape上的Java程序时,很多开发者都非常惊讶。我印象特别深刻的是,你可以用鼠标实时旋转三维分子模型。从那时起,开发者建立了很多其他形式的技术,并带来了许多积极的图形,附加到HTML中,使浏览器的体验更加的丰富。现在,为了图形显示和支持Javascript,轮到HTML5的“canvas”元素了。

本质问题是“这将消除其他所有插件的需要吗?”   但是,在继续之前,非常值得先看一下GIF和GIF专利的警示故事。   GIF格式(图形交换格式)在1997年被CompuServe公司采用,当宽带连接时,它可以很大程度……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

1995年,Sun和Netscape公司(还记得他们吗?)第一次演示运行在Netscape上的Java程序时,很多开发者都非常惊讶。我印象特别深刻的是,你可以用鼠标实时旋转三维分子模型。从那时起,开发者建立了很多其他形式的技术,并带来了许多积极的图形,附加到HTML中,使浏览器的体验更加的丰富。现在,为了图形显示和支持Javascript,轮到HTML5的“canvas”元素了。本质问题是“这将消除其他所有插件的需要吗?”

  但是,在继续之前,非常值得先看一下GIF和GIF专利的警示故事。

  GIF格式(图形交换格式)在1997年被CompuServe公司采用,当宽带连接时,它可以很大程度上的压缩,这是非常可取的。原来是用于静态的图片,后来发现可以扩展GIF标准,使它提供有限的动画。为了动画片的制作,GIF图片很容易的导入到JAVA小程序中,通常都是目前最常见的图片。

  遗憾的是,后来制造出来了压缩方法,称为Lempel-Ziv-Welch(LZW)数据压缩,是一个专利算法。专利(1981、1983)分配给了Unisys公司。许多开发者听到使用这种格式有可能引起诉讼的谣传时,都非常的不安。因此推动了PNG格式,可以提高图片的色彩,同时也预防专利。在一定程度上,毫不夸张的说,因为GIF的事情,在开发者社区,有大量的软件专利的妄想狂。幸运的是,LZW专利在2003年到期。

  注意:上述成像专利的问题,如今也有一些威胁HTML5发展的事情

  苹果公司开创了canvas概念,运用在他们的“WebKit”HTML布局引擎上。WebKit以开源形式发布,用在苹果的Safari和Google的Chrome浏览器上。网络超文本应用程序技术工作小组(WHATWG)旨在2004上创建独立的W3C标准,采用canvas作为HTML5的网络扩展的一部分。一开始,苹果专利权的问题引起了一些担忧,但是,苹果现在已经同意遵循W3C的无版权费的专利许可条款。

  HTML5中的canvas元素

  如果游览器不支持canvas,web页面中的canvas元素定义了一个的矩形区域,可以用来绘图或者显示文本信息。基本上,在页面上给了你一块区域,你可以绘图、呈现静态图片或者播放音频。访问canvas程序的API非常简洁、灵活。第一步是让JavaScript引用canvas元素的唯一的标识“id”。其次,你会得到一个引用,使用API来绘制“整个环境”。在下面的例子中,我们要使用二维API绘制整个环境。

以下是引用片段:
 var canvas = document.getElementById('the_canvas');
 var context = canvas.getContext('2d');

  使用2d环境的JavaSscript利用canvas所用的功能与开发者使用其他任何语言的低级绘制功能相似。除了画线和填充几何图形外,你还能呈现图像。要创建动态变化显示,你必须完全并多次重复矩形。二维环境不支持使用在高等级图形中的一些概念,如场景图。

  HTML5到目前为止,二维环境的竞争只有“webgl”,它能提供给你三维的API。API是三维的,因为它非常了解哪些元素可以绘制在其他元素之上。WebGL源自OpenGL ES 2.0标准,提供了非常相似的渲染功能,但仅仅是在HTML的背景下。

  WebGL的发展是由Khronos集团管理的,它是一个不以盈利为目的的企业集团,致力于建立开源的标准,免费的绘图API。除了微软以外的所有浏览器厂商都是这个工作组的成员。WebGL 1.0的最终草案发布于2011年2月18日。该草案预计会非常接近最终的标准。

  SVG怎么样?

  可升级矢量图形(SVG)自1999年,就已经被追捧绘制HTML页面的通用解决方案。SVG被认为是一个更高级的图形技术,因为,它可以建立完整的“场景图”,如果一些元素被修改,它会自动地重新绘制。要在canvas上做到这点,还需要JavaSript库文件。SVG图片是在广为人知的XML中编码并生成的,编辑工具是可以得到的。“可升级”是指SVG编码图片可以在任意分辨率的屏幕上绘制,而没有缺陷,还有一大优点是,创建内容时,必须提供手机和台式机。

  除了微软IE(先前版本是9)以外,所有现代浏览器都支持基本的SVG图形,所以未来,你的web页面上动态的图形可以选择SVG或者canvas。移动设备上的浏览器可能实现了一套简化的SVG功能。SVG是W3C的标准,在一些主要公司的浏览器开发者的援助下开发的,显然,它不受专利问题约束。

  开发者乐于接受HTML5作为一个标准方式来呈现视频。视频播放也担负着专利权的责任,争夺解码器,它需要一个完整的单独条款。拭目以待。

相关推荐

  • 对话陈本峰:HTML5究竟给企业带来了什么?

    智能手机的普及,移动计算的应用,带火了HTML5技术。尤其,当我们看到微软朋友圈被“故宫与腾讯合作”的广告刷屏,我们不得不承认,HTML5技术确实很重要,但是HTML5究竟带来了什么,与以往移动技术有什么不同?

  • HTML5促进企业移动化服务走向极致

    在企业困扰于传统移动化方式过于复杂时, HTML5凭借其天然的跨平台特性,乘势而起并逐渐得到企业的关注。可是,由于HMTL5标准建立时间不长,展示性能及稳定性更是需要和浏览器有一个良好的兼容,除此之外企业更是缺乏实际应用经验,所以基于HTML5技术的企业级服务市场还处于一片初创状态。

  • HTML5如何在企业中深入使用?

    据调查显示全球拥有490亿 在线设备,比人口数量多几倍,这说明平均每人拥有不只一部分在线设备。由此可见,全球移动生态系统是多么的庞大。

  • HTML5来了:推荐5个好用的混合式App开发工具

    在残酷的移动互联网竞争环境下, HTML5技术一直受到各方关注,“HTML5颠覆原生 App”的争论也从未停止过,不管怎样HTML5生态的构建方兴未艾。