恭喜你成为UI中国推荐设计师 (详情)
//百度统计 20220402 uicn

您的意见是我们 UI 中国进步的动力!
点击立即反馈按钮,发表您的意见!
立即反馈
QQ群反馈
您也可以加入UI中国官方反馈群进行反馈!
群号:302892100
备注:反馈问题后@管理员能让我们及时了解您的意见

提交需求

赛事与广告咨询合作,请填写需求表单,我们会在第一时间与您联系!

0/20
0/200

设计大赛

  • 设计大赛
  • 发布广告
  • 发布招聘
  • 其它需求

提交完成
感谢您对UI中国的支持和信赖!
设计师应该如何看待SVG
0.0°
2017-11-01 自译外文 经验/观点 原作者: Peter Nowell 举报 3182 5 8 1

这是一篇关于SVG图形的设计文,第一次翻译,马马虎虎。


设计师应该如何看待SVG


你将用SVG创建出令人惊叹的东西,它与其他图形有什么不同之处,以及它的导出为什么需要新的考虑。

Image title


为了准备即将到来的关于在Sketch中制作SVG工作流的课程,我通过和一群初高级的设计师交流,了解到他们对这种格式的使用情况。我注意到一个对SVG图形的常见误解:


“我们通常认为SVG图形类似于具有无限分辨率的PNG

位图图形一样,但它确并不是。”


首先,对于SVG来说,某些事情可能更加困难。更具体地说,从Sketch导出成品图形的生成时间从几秒钟到10分钟不等,这取决于你的设计以及你打算如何使用图形。要想创建一个完全满足于你需求的SVG图形,你可能需要以特定的方式调整Sketch的制作图层或者调整导出的标记。这可能看起来很复杂,也很乏味,但并不难,并且它将带你探索如何使用SVG的世界。


即使存在差异化,SVG还是有很多令人惊叹的特性。我们先来看看这些,因为它们是有趣的,我们将讨论如何开始思考SVG。


*注意:虽然Sketch是我的设计工具,但本文中的概念同样适用于Adobe Illustrator和更多其他的工具。

Image title


简短的技术定义:

SVG是可缩放矢量图形的缩写。它是一种图形格式,像JPEG或PDF,其背后的原理是它们并不局限于某个特定的分辨率;因为它不是由像素构成的,而是由矢量图形构成的。虽然它们可以在不同的地方使用,但在网络上,SVG图形是最常用的。下面的例子展示了它的潜力。


Image title


为什么SVG图形如此令人惊叹?

在我之前的许多人都对SVG的优点进行了详细的介绍。(如果你是一个Web开发人员,看看Chris Coyier关于“SVG Is for Everybody”的主题演讲,会获得更多技术的概述。)在本文中,我将重点介绍大多数设计师所关心的五个主要优势。

Image title


任意大小,没有像素化。

SVG图形就像你Sketch上的画板——虽然它们有特定的维度,但它们也包含无限的细节,因为里面的层/元素是矢量形状。因此,你可以在任意大小的屏幕上显示SVG图形,而且它永远不会出现像素化。


Image title

文件体积小

只要你不使用SVG格式的照片(当然这是JPEG的用途),大多数时候,SVG图形的占用空间要比PNG或JPEG图形少得多。

Image title


这是因为,对于位图图像(如PNG或JPEG),决定文件大小的主要因素是分辨率。一般来说,相同图像的3000X3000像素的文件总是大于300X300像素的。

Image title

但对于SVG图形,最主要的因素是细节:图像中有多少层,需要描绘多少定制的渐变、掩码或效果,图形的尺寸对文件大小几乎没有影响。对于大多数图标和其他设计元素,SVG图形在源文件大小(以及加载时间)方面显然是赢家。

Image title

作为GIF动画,这个文件超过400KB;但作为SVG图形,它仅仅3KB!


动画和动态图形

这是我最喜欢SVG的一点:如果你了解一点Web开发,就可以将SVG图形动画化,就像它们是网站的其他部分一样。所有这些神奇的代码都可以包含在SVG文件中,这样你就可以有一个仅6kb大小却像视频一样生动的动态图标。

Image title

你甚至可以让你的图形动起来,就像一个时钟可以告诉你时间,或者一个能够与旁边的文字颜色相匹配的图标。SVG图形还可以实现响应,根据屏幕的大小或像素密度,或很多其他的因素,以不同的方式进行更改。拥有无限的可能性,它们真的重新定义了我们对一个单一图形的看法。

Image title


精灵系列图&图标集

我喜欢图标,在过去的一两年中,已经出现了一些将多个图标组合到同一个SVG图形中的技术,这意味着你可以在一个图形中放置一套完整的图标集。一个小文件!这类图形被称为“精灵系列图”,它们在网络上是非常有用的。


Image title

其他更多的用途

SVG图形可用于各种其他情况。也许你想要为你的网站创建一个固定的标签图标,或者加快你的Android应用生成图标资产的进程。这两种情况都支持并且需要SVG,但是它们的严格规范要求设计师需要按照特定的工作流来创建它们(以下是更多的工作流内容)。

Image title


等等,这一切都有可能吗?

SVG,究竟是什么?


为了了解SVG是如何强大的,我们需要分析它与位图图像本质上的不同之处。



SVG图形和位图图形不一样吗?

位图,也称为光栅图,是基于像素的。这包括JPEG、PNG和GIF等格式。在外壳之下,它们本质上就是一组彩色的盒子。

Image title

例如,这个3X3像素的位图图像有9个像素:9个彩色方块。这些方块不能以任何方式改变,它们不能展示更多的细节,不能四处移动,也不能变成其他颜色——它们是永久的,并且总是占据一定数量的信息。当把图片放大超过100%时,你就会看到像素点。


像SVG这样的矢量图形不是由彩色像素构成的,它们是关于你对图形的描述。它们看起来像下边这样的:

Image title

因为SVG只是图形的描述,它可以以任意大小显示,无论是3px还是3000px,圆形始终显示的是一个“圆形”。而且它的描述还可以改变,任何花15分钟学习过web开发的人都可以编辑SVG的描述,比如调整一个形状的颜色或者线条的粗细以及其他更多的方面。



SVG图形是有生命力的,位图就是事物的照片。



你可能还会发现,当你从Sketch中导出时,会有什么帮助。位图图像将你的设计压平成一层,生成的PNG或JPEG看不出你图层的名称,也不知道它们所描述的内容。


然而,SVG并不是扁平的;它仍然包含你所有的图层以及关于它们大量的信息。当你导出时,Sketch尝试将自己的图层描述转化为SVG语言。这就是为什么有时候导出的SVG版本看起来不一样,那是因为你在Sketch中所做的某些部分并不能用SVG语言轻松地描述出。


由于SVG包含了关于你的图层的所有信息,所以你可以操作或者调整这些图层的所有功能:动画、交互/动态对象、图标集等等。


但是我们如何通过Sketch开始设计呢?

Image title


如何从Sketch中导出SVG?

SVG是导出时可以选择的一种格式,但是我们中的大多数人,包括我自己在内——都犯了一个错误,认为导出SVG将像其他类型的图形一样毫不费力。我们只输出1x PNG,2x PNG,嘿,为什么不导出SVG矢量图呢?瞧!我们完成了!对吧?


不幸的是,生成的SVG并不总是按照我们想要的方式进行,或者文件大小是不可预测的,或者这个文件与我们的开发人员或应用程序需要的某些规范不兼容。


这不是Sketch的错。Sketch一直在不断改进他们的SVG导出,现在已经相当不错了。



真正的问题是:SVG的使用方法各式各样,

Sketch如何知道要导出什么?



它不是,它不能。任何图形软件所能做的就是尝试将你的图层尽可能地转换为SVG层。你是如何在Sketch中做出这些东西的,并且Sketch是如何将它导出的。


SVG有一些可以被编码的方法(换句话说,可以描述的层),使其对开发人员来说特别易读,或者对小文件进行优化,或者简单的动画,或者适应一个图标集。这些差异超出了它的导出方式,它们常常取决于你的图层在Sketch中的基本构造。

Image title

同样的感叹号图标可以由2个不同的形状(左),一个单一的路径(中),或与一个圆角矩形接壤的垂直线(右)组成。还有其他的可能性!


我所说的“构建”是指如何创建、组合设计层以达到一定的结果。上面的感叹号例子可以用几种方式来做。并不总是有一个正确的方法,这一切都取决于你打算如何使用图形。它有时取决于SVG支持什么特性。这是我课程的另一个例子:

Image title

在本例中,用3个填充来创建大头针可能会更容易一些。虽然在SVG中,完全支持径向渐变,但是混合模式和多个填充模式需要解决方案,并且可能产生不一致的结果。


通常,以最有效或最方便的方法来模拟Sketch中的想法,而并不是为SVG构建层的最有效或最稳定的方法。

所以,当我想要把一些东西从Sketch中导出SVG时,首先要做的就是复制画板。复制画板是我对业余成员进行修改的地方,包括移除蒙版、消除变形、轮廓文本、调整边框、重命名等等一切,这些都可以确保得到的SVG看起来是正确的,并且满足了我的项目需求。


这就是为什么在文章开始的时候,我说这个“导出”过程可以从几秒钟到10分钟不等。这取决于你的具体的设计层,以及你打算如何使用生成的SVG。

Image title

你可能会想:


我需要对我的Sketch层做些什么修改才能生成最终的SVG呢?


如果有一个简单的答案,我会告诉你的。事实上,在适应SVG的Sketch设计时,我有十几种最佳实践。(我在上面提到过一些)但它们在所有情况下并不都有用。我已经发布了这些最佳实践的免费Web应用程序清单,为了解释它们背后的原因,我不得不做一个完整的课程!这比我在几篇文章中所能找到的简单得多。


这门课程历经8个月的开发之后已经可以使用,目的是让你更轻松的接受SVG,以及你将成为使用所有Sketch工作流很厉害的用户。


你能做些什么呢?

我将给你留下一些实用的建议摘要。


●记住,SVG图形就像生活事物,注定要在不同的地方使用。因此,它们通常可以以多种方式构造。

●如果你没有得到你想要的结果,试着用不同的方式去做。例如,如果边界看起来不正确,那么在导出之前尝试列出它们。

●不要在SVG中包含位图图像,它们打败了所有的优点。

●与开发人员一起从设计和工程的角度来理解格式,这样你就知道如何为你的需求工作。

● 开始改进你的SVG文件,请安装Sketch的SVGO插件(O代表优化)。在导出任何SVG之后,插件在后台运行,试图以各种不同的方式压缩文件。你可以做更多的事情来减少SVG的大小,但是如果你不想花任何时间,这个插件总比没有好。


无论该课程是否适合你,我希望本文已经阐明了SVG是什么,它有什么功能,它是如何工作的,以及如何考虑它与其他图形格式。


更新:2017-11-01

收藏

5人已收藏

  • 1

    作品

  • 1

    粉丝

  • 2

    关注

    猜你喜欢

      2017-11-01 自译外文 经验/观点 原作者: Peter Nowell 举报 3182 5 8 1

      设计师应该如何看待SVG

      0.0°

      你确定要举报设计师应该如何看待SVG

      如果查出恶意举报,十天内禁止提交任何举报申请。

      0/200

      上传证据: 超过10M的附件请使用网盘地址

      点击上传附件

      对谁可见:

      全部设计师
      • 全部设计师
      • 推荐设计师和认证设计师

      您确认要推荐?

      该作品发布时间:2017年10月31日

      评分

      完整度

      启发性

      勤奋性

      排版布局

      推荐心得

      建议20-200字以内

      0/200

      8
      5
      1

      账号或密码错误,请重新输入

      账号或密码错误,请重新输入

      登录

      手机号

      发送验证码 120s 验证码错误

      登录
      第三方账号登录