zoukankan      html  css  js  c++  java
  • SVG格式

    SVG格式

    1概述

    SVG格式

    SVG格式

    SVG是一种用XML定义的语言,用来描述二维矢量及矢量/栅格图形。SVG提供了3种类型的图形对象:矢量图形(vectorgraphicshape例如:由直线和曲线组成的路径)、图象(image)、文本(text)。图形对象还可进行分组、添加样式、变换、组合等操作,特征集包括嵌套变换(nestedtransformations)、剪切路径(clippingpaths)、alpha蒙板(alphamasks)、滤镜效果(filtereffects)、模板对象(templateobjects)和其它扩展(extensibility)。
    SVG图形是可交互的和动态的,可以在SVG文件中嵌入动画元素或通过脚本来定义动画。
    SVG可以算是目前最最火热的图像文件格式了,它的英文全称为Scalable Vector Graphics,意思为可缩放的矢量图形。它是基于XML(Extensible Markup Language),由World Wide Web Consortium(W3C)联盟进行开发的。严格来说应该是一种开放标准的矢量图形语言,可让你设计激动人心的、高分辨率的Web图形页面。用户可以直接用代码来描绘图像,可以用任何文字处理工具打开SVG图像,通过改变部分代码来使图像具有互交功能,并可以随时插入到HTML中通过浏览器来观看。
    它提供了目前网络流行的GIF和JPEG格式无法具备的优势:可以任意放大图形显示,但绝不会以牺牲图像质量为代价;可在SVG图像中保留可编辑和可搜寻的状态;平均来讲,SVG文件比JPEG和GIF格式的文件要小很多,因而下载也很快。可以相信,SVG的开发将会为Web提供新的图像标准。

    2简介

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

    3优势

    在 2003 年一月,SVG 1.1 被确立为 W3C 标准。
    参与定义 SVG 的组织有:太阳微系统、Adobe、苹果公司、IBM 以及柯达。
    与其他图像格式相比,使用 SVG 的优势在于:
    ●SVG 可被非常多的工具读取和修改(比如记事本
    ●SVG 与 JPEG 和 GIF 图像比起来,尺寸更小,且可压缩性更强。
    ●SVG 是可伸缩的
    ●SVG 图像可在任何的分辨率下被高质量地打印
    ●SVG 可在图像质量不下降的情况下被放大
    ●SVG 图像中的文本是可选的,同时也是可搜索的(很适合制作地图)
    ●SVG 可以与 Java 技术一起运行
    ●SVG 是开放的标准
    ●SVG 文件是纯粹的 XML
    SVG 的主要竞争者是 Flash。
    与 Flash 相比,SVG 最大的优势是与其他标准(比如 XSL 和 DOM)相兼容。而 Flash 则是未开源的私有技术。
    目前,不是所有的浏览器都支持 SVG,这也是 SVG 普及的最大障碍。Mozilla、Firefox 和 Opera 都支持 SVG,而微软也计划这么做。在微软最新发布的Internet Explorer 9 中已经提供了对SVG 格式的支持。
    SVG编辑器的数量正在增长,Adobe GoLive 5 也支持 SVG。

    4实例

    下面的例子是一个简单的 SVG 文件的例子。SVG 文件必须使用 .svg 后缀来保存:
    代码解释:
    第一行包含了 XML 声明。请注意 standalone 属性!该属性规定此 SVG 文件是否是“独立的”,或含有对外部文件的引用。
    standalone="no" 意味着 SVG 文档会引用一个外部文件 - 在这里,是 DTD 文件。
    第二和第三行引用了这个外部的 SVG DTD。SVG 代码以 <svg> 元素开始,包括开启标签 <svg> 和关闭标签 </svg> 。这是根元素。width 和 height 属性可设置此 SVG 文档的宽度和高度。version 属性可定义所使用的 SVG 版本,xmlns 属性可定义 SVG 命名空间。
    SVG 的 <circle> 用来创建一个圆。cx 和 cy 属性定义圆中心的 x 和 y 坐标。如果忽略这两个属性,那么圆点会被设置为 (0, 0)。r 属性定义圆的半径。
    stroke 和 stroke-width 属性控制如何显示形状的轮廓。我们把圆的轮廓设置为 2px 宽,黑边框。
    fill 属性设置形状内的颜色。我们把填充颜色设置为红色。
    关闭标签的作用是关闭 SVG 元素和文档本身。

    5展现

    对于ie9以下版本的ie浏览器,如果想在页面中展现svg图片,需要安装adobe的SVGView插件。而对于支持html5的FireFox和Chrome浏览器,可以直接使用object标签引入。
    在chrome中引入的代码如下:
    <object type="image/svg+xml"
    data="/.../**.svg"></object>
  • 相关阅读:
    通过反射获取Android通知栏高度
    Android 的EditText实现不可编辑
    Android 代码混淆、第三方平台加固加密、渠道分发 完整教程(图文)
    eclipse、myeclipse,svn插件subclipse 忘记密码的解决方法(win7、win8、xp)
    Eclipse 基于接口编程的时候,快速跳转到实现类的方法(图文)
    WIN7、WIN8 右键在目录当前打开命令行Cmd窗口(图文)
    eclipse,myeclipse开发环境下,maven远程部署到tomcat7服务器(图文)
    python之路——博客目录
    生成器和协程 —— 你想知道的都在这里了
    python3.7导入gevent模块报错的解决方案
  • 原文地址:https://www.cnblogs.com/xiaoleidiv/p/3422860.html
Copyright © 2011-2022 走看看