Svg实战总结(一)

image.png
浏览器支持情况

IE9+、Chrome33.0+、Firefox 28.0+、Safari 7.0+

svg的视窗,视野
image.png
canvas与svg两者区别:

canvas:
1)依赖分辨率
2)不支持事件处理器
3)弱的文本渲染能力
4)能够以.png或.jpg格式保存结果图像
5)最适合图像密集型的游戏,其中的许多对象会被频繁重绘

应用场景:提供的功能更原始,适合像素处理,动态渲染和大数据量绘制
Canvas可以针对比较复杂动画制作

svg:
1)不依赖分辨率
2)支持事件处理器
3)最适合带有大型渲染区域的应用程序(比如谷歌地图)
4)复杂度高会减慢渲染速度(任何过度使用DOMD的应用都不快)
5)不适合游戏应用

应用场景:功能更完善,适合静态图片展示,高保真文档查看和打印的应用场景
Svg可以用来制作logo等

基本图形和属性
Path路径设置:

字符串


image.png

命令


image.png
image.png

命令基本规律
区分大小写:大写表示坐标参数为绝对位置,小写则为相对位置
最后的参数表示最终要到达的位置
上一个命令结束的位置就是下一个命令开始的位置
命令可以重复参数表示重复执行同一条命令

案例


image.png
image.png
image.png

M移动位置可以重新设置


image.png

<path d="M200 200 h300 v100 l100 -100" stroke="red" fill="none"/>

效果图


image.png

<path d="M200 200 h300 v100 l100 -100" stroke="red"/>


image.png
矩形rect
image.png

例子
<svg>
<rect x="10" y="10" rx="10" ry="10" width="150" height="100" stroke="red" fill="none" /></rect>
</svg>

效果图

image.png
圆形circle
image.png

例子
<circle cx="250" cy="60" r="50" stroke="green" fill="none">
</circle>
效果图


image.png
椭圆ellipse
image.png

例子
<ellipse cx="150" cy="80" rx="100" ry="50"
style="fill:yellow;stroke:purple;stroke-width:2"></ellipse>
效果图

image.png
直线line
image.png

画法:
和多边形的画法很像,都根据顶点来画(宽高和位置都需要根据顶点数值来调)


image.png
image.png

例子
<line x1="10" y1="120" x2="460" y2="420" stroke="blue"></line>

效果图


image.png
折线points
image.png
image.png

画法:


image.png
image.png

例子
<polyline points="20,20,40,25 60,40 80,120 120,140 200,180"
style="fill:none;stroke:black;stroke-width:3"></polyline>
效果图


image.png
多边形polygon
image.png

五角星画法:
<polygon points="122 59,72 205,194 114,49 114,171 205" stroke="red" fill="rgb(36, 108, 140)" />

正方形画法:
<polygon points="10 30,10 100,100 100,100 30" stroke="red" fill="rgb(36, 108, 140)" />

其他图形一般画法:
(长宽都是在坐标里面改,还有位置--记得在对应坐标改,才能形成你想要的模样)

image.png
image.png

例子
<polygon points="220,10 300,210 170,250 123,234" style="fill:blue;stroke:purple;stroke-width:1" />

效果图

image.png

弧线设置
属性:


image.png
image.png
image.png

案例:

image.png
image.png
image.png

(设置fill="none",)
<path d="M200 200 A200 100 0 1 1 300 300" stroke="red" fill="none"/>

效果图

image.png

没加上fill属性,默认填充为黑色
<path d="M200 200 A200 100 0 1 1 300 300" stroke="red"/>

效果图

image.png

填充,描边和变换

fill,stroke,stroke-width,transform


image.png

完整的案例:


image.png

Github地址:https://github.com/lilyping/svg_smallYellowCute

由于svg知识篇幅有点多,方便简书小伙伴们更好阅读,分开(一)和(二)篇;文章有些知识点借鉴网上的,感谢提供资料的作者;同时希望总结这些知识点,可以帮到读者们,若文章有写的不好或有错误,请指正和体谅;祝大家心想事成!

本文作者lilyping
越努力,越幸运
原文链接:https://www.jianshu.com/u/3908e601f4ec
微信公众号:BestLilyPing
github:https://github.com/lilyping
Demos源码地址:https://github.com/lilyping

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,324评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,303评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,192评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,555评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,569评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,566评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,927评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,583评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,827评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,590评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,669评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,365评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,941评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,928评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,159评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,880评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,399评论 2 342

推荐阅读更多精彩内容

  • 在React Native中使用ARTReact Native ART 究竟是什么?所谓ART,是一个在React...
    JackfengGG阅读 9,478评论 2 50
  • 一:什么是SVG? 对于SVG的定义如下: ①:SVG 指的是可伸缩矢量图形 (Scalable Vector G...
    GreenHand1阅读 794评论 0 1
  • 一、什么是SVG? SVG指可伸缩矢量图形(Scalable Vector Graphics); SVG用来定义用...
    清心挽风阅读 1,386评论 1 3
  • 什么是SVG? SVG 指可伸缩矢量图形 (Scalable Vector Graphics) SVG 用来定义用...
    hojun阅读 850评论 0 5
  • 使用XML描述的矢量文件W3C标准(1.1):http://www.w3.org/TR/SVG11/浏览器支持情况...
    没汁帅阅读 5,969评论 0 16