HTML5实战——svg学习

百度百科:html

  SVG可缩放矢量图形(Scalable Vector Graphics)是基于可扩展标记语言(XML),用于描述二维矢量图形的一种图形格式。SVG是W3C制定的一种新的二维矢量图形格式,也是规范中的网络矢量图形标准。SVG严格听从XML语法,并用文本格式的描述性语言来描述图像内容,所以是一种和图像分辨率无关的矢量图形格式。canvas

什么是SVG?浏览器

  SVG 指可伸缩矢量图形 (Scalable Vector Graphics)
  SVG 用来定义用于网络的基于矢量的图形
  SVG 使用 XML 格式定义图形
  SVG 图像在放大或改变尺寸的状况下其图形质量不会有所损失
  SVG 是万维网联盟的标准
  SVG 与诸如 DOM 和 XSL 之类的 W3C 标准是一个总体网络

 Canvas 和 SVG 的区别:
  SVG
    SVG 是一种使用 XML 描述 2D 图形的语言。
    SVG 基于 XML,这意味着 SVG DOM 中的每一个元素都是可用的。您能够为某个元素附加 JavaScript 事件处理器。
    在 SVG 中,每一个被绘制的图形均被视为对象。若是 SVG 对象的属性发生变化,那么浏览器可以自动重现图形。
    特色:
       不依赖分辨率
       支持事件处理器
       最适合带有大型渲染区域的应用程序(好比谷歌地图)
       复杂度高会减慢渲染速度(任何过分使用 DOM 的应用都不快)
       不适合游戏应用
  Canvas
    Canvas 经过 JavaScript 来绘制 2D 图形。
    Canvas 是逐像素进行渲染的。
    在 canvas 中,一旦图形被绘制完成,它就不会继续获得浏览器的关注。若是其位置发生变化,那么整个场景也须要从新绘制,包括任何或许已被图形覆盖的对象。
    特色:
         依赖分辨率
       不支持事件处理器
       弱的文本渲染能力
       可以以 .png 或 .jpg 格式保存结果图像
       最适合图像密集型的游戏,其中的许多对象会被频繁重绘svg

svg 例子:wordpress

    <svg width="100%" height="100%"  >

        <circle cx="300" cy="60" r="50" stroke="#ff0" stroke-width="3" fill="red" />

    </svg>

SVG我最喜欢就是能够知足两种动画效果,一种是根据轨迹运动,另外一种是能够作出图形动画post

 

学习svg很是不错的系列博文

    突袭HTML5之SVG 2D入门1 - SVG综述学习

    突袭HTML5之SVG 2D入门2 - 图形绘制动画

    突袭HTML5之SVG 2D入门3 - 文本与图像spa

    突袭HTML5之SVG 2D入门4 - 笔画与填充

    突袭HTML5之SVG 2D入门5 - 颜色的表示

    突袭HTML5之SVG 2D入门6 - 坐标与变换

    突袭HTML5之SVG 2D入门7 - 重用与引用

    突袭HTML5之SVG 2D入门8 - 文档结构

    突袭HTML5之SVG 2D入门9 - 蒙板

    突袭HTML5之SVG 2D入门10 - 滤镜

    突袭HTML5之SVG 2D入门11 - 动画

    突袭HTML5之SVG 2D入门12 - SVG DOM

    突袭HTML5之SVG 2D入门13 - svg对决canvas

 

帮助理解

  理解SVG的viewport,viewBox,preserveAspectRatio

  超级强大的SVG SMIL animation动画详解

  SVG+JS path等值变化实现CSS3兴叹的图形动画

 

进阶学习

Snap.svg-SVG实战学习必修课-实例与文档讲解

 

参考:http://www.w3school.com.cn/svg/svg_intro.asp

相关文章
相关标签/搜索