SVG 简介

在 Sketch(草图)研究中,我们经常会遇到 SVG 格式的图像文件。和 PNG 不同,SVG是一种矢量图,它可以保存草图绘图过程中每个笔画的坐标信息。所以,理解 SVG 对于研究草图是很有意义的。

PNG 实际上是像素点,是一个矩阵,比如 RGB 三通道的 224 * 224 像素的一张 PNG 图片,就是一个 224 * 224 * 3 的实数矩阵。但是 SVG 则是一门编程语言,是使用 XML 来描述二维图形和绘图程序的语言。也就是说,SVG文件实际上就是一些 XML 代码,所以我们要理解 svg ,就是要理解这些 XML 代码。

SVG 中包含了矩形,圆形,路径等多种组成元素,分别对应
<rect> <circle> <path> 等标签,每个标签都有自己的一些属性,比如 <circle> 中 cx 和 cy 属性定义圆点的 x 和 y 坐,r 属性定义圆的半径。但是对于 Sketch,我们并主要理解 <path> 就够了,因为草图的笔画都是通过 <path>来存储的。path 元素的形状通过属性 d 来定义,属性 d 的值是一个 “命令+参数” 的序列。下面将介绍 的一些命令:

直线命令

  • M = moveto
    【Move to】需要两个参数,分别是需要移动到的点的x轴和y轴的坐标。类似于移动画笔的位置。一般 M 会表示一个笔画的开始。
M x y //绝对位置
m dx dy //相对位置。后续提到其他命令雷同,故省略不再赘述。
  • L = lineto
    【Line to】需要两个参数,分别是一个点的x轴和y轴坐标,L命令将会在当前位置和新位置(L前面画笔所在的点)之间画一条线段。

  • H = horizontal lineto
    H 【绘制平行线】

  • V = vertical lineto
    V【绘制垂直线】
    这两个命令都只带一个参数,标明在x轴或y轴移动到的位置,因为它们都只在坐标轴的一个方向上移动

  • Z = closepath
    Z 【闭合路径】
    Z命令会从当前点画一条直线到路径的起点。不区分大小写

曲线命令

  • C = curveto
    三次贝塞尔曲线。(x,y)表示的是曲线的终点,(x1,y1)是起点的控制点,(x2,y2)是终点的控制点。
    控制点描述的是曲线起始点的斜率,曲线上各个点的斜率,是从起点斜率到终点斜率的渐变过程。
C x1 y1, x2 y2, x y

下面还有一些其他命令就不再贴解释了,有兴趣的可以在 svg之详解 中去了解。
- S = smooth curveto
- Q = quadratic Belzier curve
- T = smooth quadratic Belzier curveto
- A = elliptical Arc

在 Sketch 中,一般只有 M 和 C 两种命令。所以只需要理解这两种命令应该就够了。

Sketch Learning - SVG 是什么?相关推荐

  1. The Best Way to Export an SVG from Sketch

    And what you should know before using Copy SVG Code. Exporting an SVG file from Sketch is easy-but t ...

  2. element 如何自定义svg图标_4000+免费可自定义的图标集合

    大家好,我是独立开发者Larry,今天推荐几个免费的图标集合,大部分图标都提供了AI.PSD.Sketch.SVG.PNG格式. 网站上的图标可以根据自己的喜好随意使用Lino图标,也可以根据自己的喜 ...

  3. SVG 图像入门教程

    http://www.ruanyifeng.com/blog/2018/08/svg.html 一.概述 SVG 是一种基于 XML 语法的图像格式,全称是可缩放矢量图(Scalable Vector ...

  4. Windows版Sketch软件也太好用了吧!

    目前为止,Sketch 软件仅支持 macOS 系统,没有推出 Windows 版本,而且在短期内也不太可能推出.这是因为 Sketch 软件是使用独有的 OS X 技术和框架开发的,它依赖于许多 O ...

  5. 找到了!Sketch导出PSD的方法!

    Sketch 不支持导出 PSD 文件,但可以通过这2 种方式"迂回"的从 Sketch 导出 PSD 文件:一是将 Sketch 文件转成 SVG 文件后导入 PS 转成 PSD ...

  6. 在线设计协作工具Pixso支持Axure,Sketch,XD和Figma文件导入

    据悉,在线设计协作平台「Pixso」近期技术方面再次取得重大突破--支持Axure文件导入!这是继前不久「Pixso」完成近亿元融资后,再一次的品牌发声. 「Pixso」由创意软件A股龙头万兴科技(3 ...

  7. Pixso可替代Sketch?这里有全方位详细测评分析

    作为一名大厂UI设计师,使用Sketch已经有三年以上,对这个出图神速的设计工具高举五星好评.但2020年后,因为疫情的原因,所有打工人都必须适应隔离在家办公的现状.以往使用体验优秀的Sketch由于 ...

  8. SVG Sprites技术介绍

    一.Sprite技术 这里所说的Sprite技术,没错,类似于CSS中的Sprite技术.图标图形整合在一起,实际呈现的时候准确显示特定图标. 另,本文图片甚多,爪机党继续浏览需慎重. 二.SVG S ...

  9. 未来必热:SVG Sprite技术介绍(转自张鑫旭-鑫空间-鑫生活)

    一.Sprite技术 这里所说的Sprite技术,没错,类似于CSS中的Sprite技术.图标图形整合在一起,实际呈现的时候准确显示特定图标. 另,本文图片甚多,爪机党继续浏览需慎重. 二.SVG S ...

  10. 我在优酷 OTT 端做自动化制图

    作者 | 阿里文娱高级前端开发工程师-罄天 责编 | 杨碧玉 头图 |  CSDN 下载自视觉中国 背景 图片作为网页中的重要组成元素,广泛存在于各种站点中,有些站点中的图片内容已经远远超过了其它网页 ...

最新文章

  1. java 自己抛空指针异常_java Timetask 访问service 抛空指针异常解决方案
  2. mysql提高并行并行_oracle 并行之并行度篇
  3. python nan_python [吐槽]关于nan类型时遇到的问题
  4. ScheduledExecutorService
  5. 科研汪的日常--一朝误入静电容,从此机械了如空(Niz静电容开箱)
  6. BestCoder Round #4 之 Miaomiao's Geometry(2014/8/10)
  7. TimeSeriesChart按月进行统计时坐标对不齐的问题
  8. mysql基础4-数据表操作2
  9. pytorch不加载fc_PyTorch | 保存和加载模型
  10. dlib疲劳检测_用Dlib和OpenCV还能做什么?这个开源项目实现了驾驶员疲劳检测
  11. 干货 | 还不了解中介调节模型?赶紧收藏本文吧。
  12. NOIP 模拟题 国际跳棋
  13. 120. Triangle(三角矩阵)
  14. php处理excel里面的重复数据,表格中删除重复项怎么操作
  15. Jenkins部署到远程服务器
  16. 启动sts后,打开项目报错:NullPointException【已解决】
  17. 《区块链DAPP开发入门、代码实现、场景应用》笔记1——天外飞仙DAPP
  18. PPT实用功能——布尔运算
  19. html输入时提示文字消失,html中input文字框,初始里边有文字提示。当点选时,文字消失,怎么改?...
  20. 《信号与系统》连续时间系统零状态响应的 MATLAB 实现

热门文章

  1. axure文件如何加密_axure怎么锁定位置
  2. linux lib文件夹,Linux下的lib文件故障解决实例
  3. 海洋地震设备与采集的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  4. 阿里云视频点播解密DecryptKMSDataKeyRequest爬坑
  5. 技术在游戏研发中的重要性
  6. python 实现人脸采集 训练 与人脸识别
  7. [开发过程]<项目管理>TAPD工具
  8. 让你的照片动起来!四种方法制作照片音乐视频
  9. 云备份的正确打开方式,你学会了吗?
  10. Java的23种设计模式---(21)观察者模式