SVG简介

svg 是图片的一种类型,基于xml 语言实现,和 png、jpg、webp 相比具有如下特点。

  • 矢量图,可以无限放大而不失真;
  • 体积小;

为什么svg图片类型具备上面的特点,而其它的图片格式不具备呢?这一切都因为svg的原理是基于xml(可扩展标记语言)语言实现的。

通过浏览器控制台审阅svg类型的图片可以发现,其本质上是一堆代码,即通过xml语言描绘出来的。svg图片的生成是通过xml提供的基本的线条、形状、颜色、模糊效果等组合而成的。基于此则不难理解为什么svg图片是矢量图和体积小的特点了。

svg 代码绘制简介

svg绘制和canvas画图类似,首先需要提供一张一定宽高的svg画布,图形线条色块都是于此未基础来绘制的。

常用全局属性
  • width
  • height
  • fill 填充颜色
  • stroke 元素轮廓设定
  • opacity 定义元素透明度
  • rx、ry 定义元素圆角
常用形状
  • rect 矩形 x 属性定义矩形距离窗口左侧的距离,y 属性定义矩形距离窗口顶端的距离
  • circle 圆 cx、cy 定义圆心坐标,r定义圆半径
  • ellipse 椭圆 cx、cy 定义圆心坐标,rx定义水平半径,ry定义垂直半径
  • line 直线 (x1, y1) 定义X轴Y轴直线开始的坐标,(x2, y2)定义X轴Y轴直线的结束坐标
  • polygon 多边形 point: [] 定义多边形顶点坐标
  • polyline 折线 point: [] 定义折线顶点
  • path 路径绘制 M = moveto L = lineto 例:<path d="M250 150 L150 350 L350 350 Z" />
常用元素
  • text 文本标识,tspan 文本子元素, textPath 带弧线的文本
  • filter、defs 用来存放滤镜等效果
  • linearGradient 线性渐变 必须定义在defs内部,每种颜色通过top标签来规定 ,offset 定义渐变的开始结束位置, id属性引用标识
  • radialGradient 放射性渐变 (fx, fy ) 内层圆心坐标, (cx, cy) 外层圆心坐标, r 渐变半径
  • g 用来组合对象的容器,添加到g元素的属性会被其所有的子元素继承
  • 滤镜:feGaussianBlur...等
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • SVG元素是一种特殊的DOM元素,可以使用CSS以及一般的JS类库来实现动画控制。但是这些方法都没提供SVG动画样...
    belllee阅读 12,711评论 0 4
  • @(HTML5)[canvas与SVG] [TOC] 十一 、SVG HTML体系中,最常用的绘制矢量图的技术是S...
    踏浪free阅读 10,060评论 0 2
  • SVG 可伸缩矢量图形(Scalable Vector Graphics) 使用 XML 格式定义图像 是w3c的...
    小樓me阅读 4,610评论 0 1
  • 使用XML描述的矢量文件W3C标准(1.1):http://www.w3.org/TR/SVG11/浏览器支持情况...
    没汁帅阅读 11,250评论 0 16
  • svg MDN较为详细 地址:https://developer.mozilla.org/zh-CN/docs/W...
    WhiteStruggle阅读 2,784评论 0 1

友情链接更多精彩内容