SVG 指可伸缩矢量图形 (Scalable Vector Graphics),它是一种您说得对,SVG 指可伸缩矢量图形 (Scalable Vector Graphics),它是一种基于 XML 的开放网络标准,用于描述二维的矢量图形。本教程将介绍把SVG直接嵌入HTML页面的方法。
一、SVG优势
与其他图像格式相比(比如 JPEG 和 GIF),使用 SVG 的优势在于:
1、SVG 图像可以通过文本编辑器进行创建和修改,这大大增加了其灵活性;
2、SVG 图像可以被搜索、索引、脚本化或压缩,这对于网络应用来说非常有用;
3、由于 SVG 是基于矢量的图像格式,它可以无限缩放而不会损失任何质量或清晰度。也就代表无论是在大屏显示还是小屏设备上查看,SVG 图像都能保持清晰和精确;
4、SVG 图像具有出色的打印质量,可以以高分辨率进行打印。
二、把SVG直接嵌入HTML页面
在 HTML5 中,您能够将 SVG 元素直接嵌入 HTML 页面中:
<!DOCTYPE html> <html> <body> <svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="190"> <polygon points="100,10 40,180 190,60 10,60 160,180" style="fill:lime;stroke:purple;stroke-width:5;fill-rule:evenodd;" /> </svg> </body> </html>
结果:
三、浏览器支持
Internet Explorer 9、Firefox、Opera、Chrome 以及 Safari 支持内联 SVG。
四、Canvas与SVG比较
以下列出了 canvas 与 SVG 之间的一些不同之处。
1、SVG
- 不依赖分辨率;
- 支持事件处理器;
- 最适合带有大型渲染区域的应用程序(比如谷歌地图);
- 复杂度高会减慢渲染速度(任何过度使用 DOM 的应用都不快);
- 不适合游戏应用。
2、Canvas
- 依赖分辨率;
- 不支持事件处理器;
- 弱的文本渲染能力;
- 能够以 .png 或 .jpg 格式保存结果图像;
- 最适合图像密集型的游戏,其中的许多对象会被频繁重绘。
有关Canvas请参考《HTML画布》。