族谱网 头条 人物百科

可缩放向量图形

2020-10-16
出处:族谱网
作者:阿族小谱
浏览:334
转发:0
评论:0
SVG概述SVG从1999年由一组加入W3C的公司启动开发,与之前1998年提交给W3C的标准(PGML(英语:PrecisionGraphicsMarkupLanguage)、VML)构成竞争。SVG从这两个格式吸取了经验。SVG允许3种图形对象类型:矢量图形、栅格图像以及文本。图形对象——包括PNG、JPEG这些栅格图像——能够被编组、设计、转换及集成进先前的渲染对象中。文本可以在任何适用于应用程序的XML命名空间之内,从而提高SVG图形的搜索能力和无障碍性。SVG提供的功能集涵盖了嵌套转换、裁剪路径(英语:Clippingpath)、Alpha通道、滤镜效果、模板对象以及可扩展性。SVG严格遵从XML语法,并用文本格式的描述性语言来描述图像内容,因此是一种和图像分辨率无关的矢量图形格式。图像文件可读,易于修改和编辑(理论上如此,但实际上却是因为各种不同的SVG档编辑器而可能存储成不易...

SVG概述

SVG从1999年由一组加入W3C的公司启动开发,与之前1998年提交给W3C的标准( PGML ( 英语 : Precision Graphics Markup Language ) 、VML)构成竞争。SVG从这两个格式吸取了经验。

SVG允许3种图形对象类型:矢量图形、栅格图像以及文本。图形对象——包括PNG、JPEG这些栅格图像——能够被编组、设计、转换及集成进先前的渲染对象中。文本可以在任何适用于应用程序的XML命名空间之内,从而提高SVG图形的搜索能力和无障碍性。SVG提供的功能集涵盖了嵌套转换、 裁剪路径 ( 英语 : Clipping path ) 、Alpha通道、滤镜效果、模板对象以及可扩展性。

SVG严格遵从XML语法,并用文本格式的描述性语言来描述图像内容,因此是一种和图像分辨率无关的矢量图形格式。

图像文件可读,易于修改和编辑(理论上如此,但实际上却是因为各种不同的SVG档编辑器而可能存储成不易解读的SVG文件)

与现有技术可以互动融合。例如,SVG技术本身的动态部分(包括时序控制和动画)就是基于SMIL标准。另外,SVG文件还可嵌入JavaScript(严格地说,应该是ECMAScript)脚本来控制SVG对象

SVG图形格式可以方便的创建文字索引,从而实现基于内容的图像搜索

SVG图形格式支持多种滤镜和特殊效果,在不改变图像内容的前提下可以实现位图格式中类似文字阴影的效果

SVG图形格式可以用来动态生成图形。例如,可用SVG动态生成具有交互功能的地图,嵌入网页中,并显示给终端用户

如何和已经占有重要市场份额的矢量图形格式Adobe Animate竞争的问题。

SVG的本地运行环境下的厂家支持程度。

由于原始的SVG档是遵从XML语法,导致数据采用未压缩的方式存放,因此相较于其他的矢量图形格式,同样的文件内容会比其他的文件格式稍大。Adobe因此使用gzip压缩开发出压缩的SVG档格式,附档名为 .svgz, 但此种文件格式除了Adobe旗下的软件以外,未被广泛支持使用。

旧版的SVG Viewer无法正确显示出使用新版SVG格式的矢量图形。

SVG Basic

SVG Basic 又称SVGB,是英语“Scalable Vector Graphics, Basic Profile”的简写,可以翻译为“可缩放的矢量图形标准的基本版”。它是SVG的一个子集,而主要目标是为掌上电脑等高端移动设备提供矢量图形显示格式。

SVG Tiny

SVG Tiny 又称SVGT,是英语“Scalable Vector Graphics, Tiny Profile”的简写,可以翻译为“可缩放的矢量图形标准的微型简化版本”。它也是SVG的一个子集,而主要目标是为手机等低端移动设备提供矢量图形显示格式。

SVG animation

SVG技术细节

SVG主要支持以下几种显示对象:

矢量显示对象,基本矢量显示对象包括矩形、圆、椭圆、多边形、直线、任意曲线等

嵌入式外部图像,包括PNG、JPEG、SVG等

文字对象

SVG可以实现动态和交互功能。在DOM模型的基础上,SVG开发设计人员可以利用ECMAScript或者SMIL来进行时序控制或对象的操纵。SVG虽然是文本格式,但是SVG支持利用gzip压缩算法减少文件尺寸,压缩后的文件通常用被称为“SVGZ文件”。

标准制定开发历史

2001年9月4日,发布SVG 1.0。

2003年1月4日,发布SVG 1.1。

2003年1月14日,推出SVG移动子版本:SVG Tiny和SVG Basic。

2008年12月22日,发布SVG Tiny 1.2。

2011年8月16日,发布SVG 1.1(第2版),成为W3C目前推荐的标准。

W3C目前仍正在研究制定SVG 2,目前最新的草稿发布见此。

示例

可缩放向量图形

示例SVG显示

可缩放向量图形

简单SVG图片,样如少女。

可缩放向量图形

较为复杂但精细的SVG图片

SVG格式是XML的一种,SVG文件其实只是普通的文本文件,用一般的文本编辑器便可查看或修改。

/span> "g11.dtd">xmlns="g"version="1.1"width="467"height="462">x="80"y="60"width="250"height="250"rx="20"fill="red"stroke="black"stroke-width="2px"/>x="140"y="120"width="250"height="250"rx="40"fill="blue"stroke="black"stroke-width="2px"fill-opacity="0.7"/>

SVG显示

插件支持

目前,最常用的SVG插件来自Adobe公司(Adobe SVG Viewer),另外Corel也提供SVG浏览器(Corel SVG Viewer)。然而前者宣布于2009年1月1日停止对该产品的支持。

原生支持

比较著名的SVG项目包括Mozilla SVG Project,KDE的KSVG,以及Amaya等。

Mozilla Firefox自版本1.5发行后,即开始支持SVG格式的显示。

Opera 8.0 版开始支持显示Tiny 1.1规格的SVG。

基于Java的SVG项目主要有Batik SVG Toolkit等。

Google Chrome和Safari支持SVG显示。

Microsoft的Internet Explorer8.0版及其更老的版本尚未支持SVG,直至由Internet Explorer9.0版开始支持SVG。

各种SVG解释器支持程度比较

W3C的SVG网站上有一个测试包可以用来测试SVG解释器对于标准的支持。这个包既可以在线运行也可以下载到本地运行。截至2007年中,对于流行的SVG软件有如下测试结果:

对SVG支持最好的浏览器是Opera,它支持大多数的SVG特性。

作为专门的SVG浏览器,Batik SVG viewer能对大多数特性有良好支持,与Opera不相伯仲。但它不能和浏览器互动。

加载了Adobe SVG Viewer的Internet Explorer也能支持多数SVG特性,但是由于没有浏览器的原生支持,在交互方面许多特性不支持。

Mozilla Firefox2.0对SVG特性的支持相当弱,许多重要特性如动画等都不能支持。

设计工具

能够设计SVG图形作品的软件工具包括Adobe Illustrator、Visio以及CorelDRAW等。

而开放源代码的软件有Scribus、Karbon14、Inkscape以及Sodipodi等。

另外也有开放源码、功能简单但容易操作、免安装的在线SVG设计工具,例如svg-edit。

参见

Canvas (HTML元素)


免责声明:以上内容版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。感谢每一位辛勤著写的作者,感谢每一位的分享。

——— 没有了 ———
编辑:阿族小谱
发表评论
写好了,提交
{{item.label}}
{{commentTotal}}条评论
{{item.userName}}
发布时间:{{item.time}}
{{item.content}}
回复
举报
点击加载更多
打赏作者
“感谢您的打赏,我会更努力的创作”
— 请选择您要打赏的金额 —
{{item.label}}
{{item.label}}
打赏成功!
“感谢您的打赏,我会更努力的创作”
返回

更多文章

更多精彩文章
打赏
私信

推荐阅读

· 缩放
矩阵表示缩放可以表示为缩放矩阵。要用一个向量v=(vx,vy,vz)缩放一个物体,每个点p=(px,py,pz)都需要乘以缩放矩阵:如下所示,这个乘法将给出预期的结果:这种缩放按在缩放因子中间的一个因子改变物体的直径,那在在两个缩放因子的最小和最大乘积之间的一个因子改变它的面积,按所有三个缩放因子的乘积改变它的体积。在最一般意义上的缩放是使用可对角化矩阵的任何仿射变换。它包括缩放的三个方向不垂直的情况。它还包括一个或多个缩放因子等于零的情况(投影),和一个或多个负缩放因子的情况。齐次坐标使用齐次坐标经常是更加有用的,因为3次元的平移(仿射变换)不能用3×3矩阵完成。要按一个向量v=(vx,vy,vz)缩放一个物体,所有的齐次向量p=(px,py,pz,1)都需要乘以缩放矩阵:如下所示,这个乘法给出预期的结果:缩放是均匀的,当且仅当缩放因子是相等的。如果除了一个因子之外所有缩放因子都是1我们...
· 向量
表示方法向量由方向和程度(或:长度)两个因素所组成,可以记为a→→-->{\displaystyle{\vec{a}}}。一些书本向量会用粗体字母表示,如v{\displaystyle\mathbf{v}},要区分是否粗体字有时不容易,例如D{\displaystyle\!\mathrm{D}}和D{\displaystyle\!\mathbf{D}}肉眼看易混淆。向量的直观图形表示则一般使用带箭头的线段。而遇到某些特殊情况需要表示与记载纸面垂直的向量,则会使用圆圈中打叉或打点的方式来表示(如右图)。圆圈中带点的记号(⊙)表示由纸下方指向纸上方的向量,而圆圈中带叉的记号(⊗)则表示由纸的上方指向纸下方的向量。由于这种记号不表示向量的大小,所以必须时需要在旁边或其它地方另外注明。在直角坐标系中,定义有若干个特殊的基本向量,其它的向量可以通过这些基本向量来表示。在常见的三维空间直角坐标系...
· 向量势
定理设为二次连续可微的螺线向量场。假设当||x||→∞时,v(x)下降得足够快。定义那么,A是v的一个向量势,也就是说:这个定理的一个推广是亥姆霍兹分解,它表明任何一个向量场都可以分解为一个螺线向量场和一个无旋向量场的和。非唯一性螺线向量场所具有的向量势不是唯一的。如果A是v的一个向量势,那么:也是一个向量势,其中m是任何一个连续可微的标量函数。这可以从梯度的旋度是零的事实推出。参见向量分析基本定理磁矢势螺线管参考文献FundamentalsofEngineeringElectromagneticsbyDavidK.Cheng,Addison-Wesley,1993.
· 向量积
定义在右手坐标系中的向量积两个向量a{\displaystyle\mathbf{a}}和b{\displaystyle\mathbf{b}}的叉积写作a××-->b{\displaystyle\mathbf{a}\times\mathbf{b}}(有时也被写成a∧∧-->b{\displaystyle\mathbf{a}\wedge\mathbf{b}},避免和字母x混淆)。叉积可以定义为:在这里θθ-->{\displaystyle\theta}表示a{\displaystyle\mathbf{a}}和b{\displaystyle\mathbf{b}}之间的角度(0∘∘-->≤≤-->θθ-->≤≤-->180∘∘-->{\displaystyle0^{\circ}\leq\theta\leq180^{\circ}}),它位于这两个向量所...
· 向量场
定义设X是R里的一个连通开集,一个向量场就是一个向量函数我们称F为一个C向量场,如果F在X上是k次连续可微的。在X内,一个点x被称为固定的,若向量场可以理解为一个n维空间,其中对X内每一个点都有个附着的n维向量。给定两个定义于X上的C-向量场F,G以及一个定义于X上的C-实值函数f,可以定义以下运算如此便可定义在C函数的环上的C向量场的模。

关于我们

关注族谱网 微信公众号,每日及时查看相关推荐,订阅互动等。

APP下载

下载族谱APP 微信公众号,每日及时查看
扫一扫添加客服微信