SVG初探 - 创建SVG图片
SVG初探 - 创建SVG图片
之前一直在使用Canvas绘图,这段时间研究了一下SVG。说实话,SVG的研究比Canvas要难很多。主要原因在于,压根没有合适的中文文档,想把知识点掌握的前提,是把英文文档翻译过来。在讲解方法之前,先说说SVG的基本知识以及创建SVG的基本方法:
SVG是什么
W3C推荐的网页图形格式,类似于Flash,SVG是一种描述二维矢量图形的标记语言,但它是一种开发的以XML为基础的语言,不是一种私有语言。
SVG的支持程度
IE8-以及Android 2.3默认浏览器是不支持SVG的
对SVG的基本理解
可以把SVG想象成类似于HTML的图形,可以与其他浏览器技术,如JavaScript、CSS、DOM无缝集合
为何使用SVG-SVG的优势:
1、开发者可以使用任何简单的文本/网页编译器进行创建和修改。不需要Flash、PhotoShop、Paint等软件。
2、与像素无关,可以放大或者缩小,甚至打印成任意大小,图片质量不会改变。
创建SVG图片
方法1:使用外部引入SVG的方式
SVG是一个以.svg结尾的文本格式的文件,可以将这个文件以普通图片的方式嵌入到DOM当中,
<object data="XXX.svg" type="image/svg+xml" />
SCG文件的编辑
<svg version="1.1" baseProfile="full" xmlns="https://www.w3.org/2000/svg"></svg>
书写的SVG-demo
<svg version="1.1" baseProfile="full" xmlns="https://www.w3.org/2000/svg">
方法2:
<circle cx="400" cy="200" r="100" fill="yellow" stroke="black" stroke-width="1px" />
<circle cx="350" cy="180" r="20" fill="black" />
<circle cx="450" cy="180" r="20" fill="black" />
<clipPath id="faceClip">
<rect x="300" y="240" width="220" height="60" />
</clipPath>
<circle cx="400" cy="200" r="60" fill-opacity="0" stroke="black" stroke-width="5px" clip-path="url(#faceClip)" />
</svg>在HTML中直接使用SVG,示例demo:
<svg width="320" height="320" xmlns="https://www.w3.org/2000/svg">
今天就先讲解SVG的基本用法,下一篇文章当中,我们再具体分析SVG的属性和方法(可以绘画的线型等)
<g>
<circle cx="400" cy="200" r="100" fill="yellow" stroke="black" stroke-width="1px" />
<circle cx="350" cy="180" r="20" fill="black" />
<circle cx="450" cy="180" r="20" fill="black" />
<clipPath id="faceClip">
<rect x="300" y="240" width="220" height="60" />
</clipPath>
<circle cx="400" cy="200" r="60" fill-opacity="0" stroke="black" stroke-width="5px" clip-path="url(#faceClip)" />
</g>
</svg>欢迎互相沟通交流~独行冰海
评论