[英]Why use the HTML 5 Canvas tag?
原谅我的无知,但我是HTML 5竞技场的新手,从未使用过Javascript的图形。
我正在做一些阅读并遇到Canvas标签,并且源声明canvas标签充当图形容器,用于通过使用Javascript在网页上呈现图形。
我的问题是,为什么我需要使用Canvas作为占位符来渲染图形,而不是使用其他可以用作图形占位符的任意标记?
<canvas>
标签与<img>
标签完全相同,区别在于您可以使用javascript代码自行绘制,而不是从网络加载图像。 您可以绘制线条,圆形,填充多边形,渐变和矩阵变换图片。 您还可以在循环中重绘画布内容以制作动画。
要了解使用普通画布2d(没有webgl,只是标准的2d渲染)可以做些什么,请查看这个小型演示,或者如果您的浏览器太旧并且不支持画布,请查看此视频 。
它是纯粹的javascript,没有从网络加载,一切都在浏览器中计算,包括纹理和用于envmapping部分的光线追踪图像。 全部在一个4Kb html文件中。
你真的认为你可以使用常规的<div>
来做同样的事吗?
对于具有可读源的更简单的演示,您可以查看这个旋转的二十面体 。
Canvas
适用于图形操作,而div
不是。 从语义上讲,你应该使用Canvas
。
你不能在任意元素上绘制。
Canvas允许您以可接受的速度操纵像素。 您可以绘制各种形状,为像素设置颜色等。使用div,您只能渲染标准HTML元素。
DIV
是其他标签的容器。 CANVAS
是像素的容器。
虽然(可能)可以在普通DIV
内完成您想要绘制的所有事情,但是使用CANVAS
,浏览器在语义上知道该区域将包含图形并且可以相应地使用该信息。
浏览器本身支持CANVAS
的各种绘图程序,而你必须完全用JS for DIV
自己烹饪。
有关HTML5画布信息的非常好的资源是http://diveintohtml5.ep.io/canvas.html
绘图使用
<canvas>
在使用此网页进入网页时会立即加载,其中a
<img>
需要更长的时间。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.