HTML5在浏览器中:画布,视频,音频和图形

五个字符HTML5现在是一个已建立的流行语,在Web上找到,经常在幻灯片,功能列表和其他地方提供最佳结算,其中杜娟聚集在一起。必须使用程序员管理或与程序员一起工作的非程序员甚至开始拿起该术语。就在两天前,无法管理电视遥控器的人解释说,他确信他的公司的网络存在会更好,因为他们使用HTML5。

这五个字实际上只是一份尚未完成的文件的名称。W3C的工作是构建Web技术的标准设置描述,近7年来,他们一直在考虑HTML标准的第五版。最新的HTML5草案可能最终在2022年正式生效,至少在谷歌工作的作者之一伊恩·希克森(Ian Hickson)这样认为。

(微软和Adobe官员最近承诺他们对HTML5的热爱.|立即使用HTML5使用The Techniqu来获取您的网站InfoWorld的HTML5 Deep Dive PDF如何报告。]

对于许多老板和潜在客户来说,这显然是遥远的未来,他们已经把HTML5这个时髦词放在了清单上。好消息是,大多数现代浏览器都实现了一个稳定的特性集合,并且很有可能实现HTML5在您的网站上工作对于用户配备了最新的浏览器。

最大的最大问题,最新技术进入了标准。其中许多在各种浏览器中的各种形式已经存在了几年,但现在标准是合并的,主要浏览器全部排队支持。

新功能粗略地分为四个主要区域:

*华丽的新表示工具。双关语的目的是,因为新的层将使设计师更容易创建更光滑的图形华丽的标签集合。

*数据层。网页一旦需要与Web连接。处理数据的新工具正在从遥控服务器的显示机制转向网页,进入存储数据的独立软件应用程序,该应用程序在没有Web连接的情况下存储数据。

*其他Tidbits。一个令人惊讶的大量的小思想在HTML5的雨伞下束缚,即使他们不在官方规范中也是如此。使用地理定位信息和更好地组织数据呈现的新工具都包含在内。

*对旧方法很少修复。浏览器从未以统一的方式处理每个细节。HTML5标准清除了一些差异。

本文是探索浏览器和开发人员如何向HTML5开发的系列系列的第一个,从演示层中的新机会开始。

html5画布

HTML5视频和音频

可缩放矢量图形

WebGL: 3 d画布

html5画布


HTML5中可能没有更大的驻使,而不是创建标记,用于保留用于保留JavaScript代码可以操纵单个像素的矩形块的标记。在原始视觉中,HTML仅是数据的标记图层。浏览器负责决定如何以最佳的方式为当前读者提供数据。和可扩展的矢量图形集 - 现在通常被认为是HTML5的一部分 - 是通过将信息放在无穷无尽的标签中来绘制线条的方法。

唉,艺术家不像计算机程序员那样思考,他们不理解将数据层与表示层分离的想法。当他们想要写下一个字母或一抹颜色时,他们希望它在一个地方,并且保持在那里——否则设计的和谐将永远被破坏。

解决方案是使用元素,这个想法起源于苹果,它将整合到WebKit项目中。从那时起,除了微软,其他公司都在复制它。最终,微软妥协了,在IE9中添加了这个选项,但这是在意识到每个人都在使用一个免费的翻译工具,将元素中的所有方法映射到他们自己的版本之后。

虽然Microsoft已加入标准版本,但结果之间仍有差异。Philip Taylor为这一的测试建造了一套非常完整的测试帆布对象它贯穿了JavaScript应用涂抹或清洗颜色的各种方式。许多最常见的例程——比如画一条线——现在在所有浏览器中都以差不多相同的方式实现了。但是,仍然有大量的地方浏览器不能从相同的代码产生相同的结果。许多渲染文本和渐变的例程都有不同的效果,或者只是崩溃。

要测试画布标签,我建立了一组飞行链接动画使用由Graham Breach编写的jQuery插件。该代码在HTML中寻找一组链接,然后开始在云中绘制它们,云在鼠标的响应下旋转。它说明了一些可以通过Canvas元素实现的操作。

该代码在IE8和早期版本的Internet Explorer中不起作用,这不直接支持画布,但如果使用缩小翻译图层,它将起作用Explorercanvas..此代码将在较早的浏览器中将CANVAS调用转为代码,该代码是Microsoft Microsoft称为VML(Vector Marpup Lanaguage)的技术。任何需要支持较旧但仍然非常常见的IE常见版本的人都需要此翻译层。

当前Web浏览器中的本机支持

Apple Safari 5.0是

谷歌Chrome 8.0是的

Microsoft IE 8.0 / 9.0否/是

Mozilla Firefox 3.6是的

歌剧10.60是的

HTML5视频和音频

如果只有进展很容易。虽然标签的格式始终相同,但文件的格式会急剧变化。如果浏览器都支持使用用于保存静止图像的GIF,PNG和JPG文件,因此浏览器都支持相同的格式集合,这可能无关紧要。但他们没有。每个人都有自己的想法属于哪种视频格式,并且支持可以从修订版到浏览器的修订版本。

最常见的格式是Ogg Theora,由开源组织Xiph.org开发;H.264,由MPEG组构建;VP8由On2创建,这家公司最近被谷歌收购。还有其他人,但他们没有那么多支持。例如,苹果的Safari浏览器可以显示任何可以用QuickTime解码的内容。

所有这三种主要格式都提供了相当的结果,虽然视频专家通常可以找到伪影争论。最大的争论点是满足可能持有专利的人的成本。H.264格式是过去最常用的格式之一,但它需要从MPEG LA组的专利许可证付款。作为优点,存在许多芯片,可以加速从压缩的MPEG文件重建像素。这些可以降低像iPhone这样的手持设备的电池消耗。

On2的专利现在可以免版税使用,这使得它们对每个人都更有吸引力。在这个时候,没有人公开讨论可能支配Ogg Theora格式的专利,但人们担心很久以前申请的专利可能会在未来的某个时候出现,使专利持有人有权起诉从那时起使用这种格式的每个人。

对于小型网站设计师和电影制作人来说,专利问题可能对此因为许多工具来自支付授权费用的公司来编码和解码H.264流的公司。然而,该许可证对于更大的鱼来说可能不够,因为MPEG La Group也希望将视频广播到大受众的费用。如果您达到某些阈值,您可能需要购买此许可证,或者您可能无法购买此许可证。一个mpeg la新闻稿[PDF]承诺在2015年之前不收取refbroadcast上的专利特许权使用费。在此之后?这一切都很复杂。律师不会在循环中切出一段时间。

有解决方案吗?不是一个容易的。虽然每个人都继续尝试所有功能,但最佳解决方案可能是以多种格式对视频进行编码,然后使用脚本来检测浏览器。

本机

Apple Safari 5.0是

谷歌Chrome 8.0是的

Microsoft IE 8.0 / 9.0否/是

Mozilla Firefox 3.6是的

歌剧10.60是的

在填充的表中找到了在浏览器中测试HTML5视频的更具娱乐性方式飞行InfoWorld标志.如果您能看到该标志,则您的浏览器支持该格式。

音频标签类似于视频标签,很大程度上是因为它只是一个子集。

现在,似乎音频支持大大镜像视频支持。如果Firefox正在推动OGG Theora视频,那么它还支持OGG Vorbis音频格式,因为OGG Vorbis用于OGG Thorora的音频部分。如果某些浏览器支持WebM for Video,则无疑将支持WebM for Audio。一个不一致的可能是MP3格式,这是一般MPEG-4视频格式的一部分,但现在很常见,浏览器将独立支持它。我最新版本的Google Chrome,版本7,支持MP3但不是MPEG-4。

当前浏览器中支持的视频和音频格式

Ogg Theora / Ogg Vorbis VP8 . H.264/MPEG-4

Apple Safari 5.0是否否

Google Chrome 8.0是是是的

Microsoft IE 8.0 / 9.0否/是否/否/否

Mozilla Firefox 3.6 / 4.0否/否是/是否/是

Opera 10.60否是是

可缩放矢量图形

正如我在Canvas部分中提到的那样,网络是基于数据将以一种格式传递的想法,然后由本地计算机呈现或解释。可扩展的向量图形(SVG)格式被发明以将普通的ASCII文本转换为图形形状。第一批委员会于1999年的相对古老的年度开始,但努力工作终于达到了成果。既然Microsoft正在向IE9添加SVG支持,所有主要浏览器都将支持格式,或多或少。

SVG格式的目标是带来相同类型的无限精度,以指定发布到打印文档的图纸。不是通过指定像素来呈现对象,而是由行和形状进行图,该线条和形状由像这样的标签拼写出来用于创建一个带半径为40像素的圆圈:

中风宽度=“2”填充=“红色”>

结果非常适合线图,因为浏览器可以创建调谐到屏幕分辨率的图像。用户可以放大或缩小,视频卡呈现结果。动画的录像和由动画精灵制成的游戏很容易指定和交付,因为它们可以这么小。尽管所有标签都令人生意的格式,但基本的GZIP压缩可以去除这个句法猪油的80%。SVGZ文件被重新压缩。

微软的到来是否意味着现在每个人都说着同样的语言?当然不是。手机公司担心华丽的SVG全景图会浪费电池能源,于是想出了两个更小的子集:SVGB (SVG Basic)和SVGT (SVG Tiny)。这就遗漏了一些功能,这些功能可能无法为微型移动屏幕增加多少功能,比如以像素以外的值指定尺寸的能力。没有picas或毫米,SVGT只允许纯色填充。

浏览器的桌面实现也有许多不同之处。虽然都说它们实现了SVG的核心版本,但一些开发人员正在尝试对这个灵活的标准做更多的事情。例如,一组开始添加新的标记,用于描述对象移动的路径。绘制对象后,SVG引擎可以计算出它们的新位置并再次绘制它们。所有用于绘制线条的相同数学和标记基础结构都可以被重用来绘制对象应该遵循的路径。在这一点上,Gecko和WebKit浏览器支持这个特性,但IE 9还没有构建它。

另一个计划是让浏览器应用所有SVG效果,例如过滤器和剪辑到任何任意的HTML。Mozilla团队首先实施了这一点并创造了一个草稿CSS的SVG效果HTML5团队需要考虑的问题。其他浏览器也提供了一些支持,但人们普遍认为它们有更多的bug——而且与Mozilla浏览器实现这些想法的方式不一致。这并不奇怪,因为编写代码和规范的都是Mozilla的人。

第三个不一致的领域是SVG字体的实现。与PostScript不同,SVG的基本版本不容易将任意线条模式转换为符号。WebKit浏览器提供了对SVG字体的基本支持,因此更容易将文字添加到SVG绘图中。IE和Gecko还在研究这个。

有关的:
12 4.
第1页,共2页
IT薪水调查:结果是