作者:马宝
作为收集癖重度症候群患者,从2014年开始到现在,粗略估计一年间我已经收集整理了36800多个图标,不包括之前的散落在各大移动硬盘中的找不到的、在源文件中未整理的那些,她们大体可以分为SVG、eps、fonticons、PNG、PSD等,很多都是批量下载而来,其中字体图标、svg居多因为平常使用频繁,可编辑性强;后宫佳丽 3万看我如何与她们相处的……(图标的收集、整理和使用)。
在设计中广泛应用的图标,是一种具有明确指示意义的图形,她可以是形状或者线条,其中介绍一下最洋气的icon font字体图标 、SVG格式的矢量图标;她们有着共性
Icon font 就是将一套图标集以字体文件的形式封装,并通过 CSS 3 的 @font-face 作为 Web Font 调用。
通常一套 icon font 的数目不多,所以字体文件的体积亦会较小。同时因 icon font 中的图标为矢量,所以应对缩放也更为便利。并且 @font-face 属性甚至被 IE 6 支持,所以在尚需要考虑 IE 6 兼容性的时候,用于显示透明背景的单色图标,便不需要采取针对 .png 的 hack.
现在越来越多浏览器支持 SVG ,SVG或许是网页中使用矢量图标(SVG 甚至支持多颜色、渐变)更好的解决方案。
无论是web平台类还是无线端的产品都会大量的使用图标,以往的CSS Image sprites方式已经心力憔悴,以我参与的平台项目为例,作为易信公众平台的设计师,我设计图标生成SVG,并用 https://icomoon.io/app/ 在线生成的方式完成字体图标的设计,前端引用CSS;
问题来啦
在设计的过程中,你有没有遇到过看似简单的图标如果你来勾画的要费时费力,效果又不佳?
一时半会,找不到相匹配的图标来表示原型传达的意义?
理想的设计状态应该是这样
解决方案:首先你要有一套图标库大而全,可以方便搜索;其次界面直观可视使用高效简洁,拖拽到位;
批量下载,不做没有效率的事情;平常上最多的图标网站大概有这么几个,有些网站直接提供免费的字体图标,有些很有良心的会给你SVG,有些给你很可怜的PNG吊吊胃口,这是一个动脑子的时代,你是否愿意花大价钱买一堆无用的图标,或者照着PNG 吭哧吭哧一顿描;答案是NO,那么请往这边看
https://thenounproject.com
http://fortawesome.github.io/Font-Awesome
https://fonticons.com
https://www.iconfinder.com
http://ionicons.com
--> 我是这么干的,推荐thenounproject.com 全球最大的图标平台,无数多优秀的设计师会上传自己设计的图标;保守估计这个平台的图标应该有16W之多,你问我怎么知道的?因为我“数过”;我翻看过这个平台提供的API文档及URL,找到两个有用的线索。
感谢雨森同学写的批处理,我只是改一下
import os
prefix = 'https://d30y9cdsu7xlg0.cloudfront.net/png/%01d-200.png'
for i in range(1, 160000):
cmd = 'wget ' + (prefix % i)
print cmd
print os.popen(cmd).read()
https://d30y9cdsu7xlg0.cloudfront.net/noun-svg/19986.svg?Expires=1435125673&Signature=iZswOL3uEPywkeoQC5AuO1-fhghNnJ2rDyuysehR9qL9ccjymNHdp6aeWYQ8vcq4d2JeSNqoss2xUSOgoOR29vdOjrce7HfnbA-4mcgNWMt45HtmyiAQIApoeoouTl~dmM~DgdRWFPwyLzQruRzGXltuFE1VGhyhobZdDyECSKQ_&Key-Pair-Id=APKAI5ZVHAXN65CHVU2Q
先来看一下 他的路径,noun-svg/*.svg?Expires=14351256...,.svg?后面一长串 就是我们想要的SVG啦,他做的比较变态加密了而且有些还超过255字符,用wget -i
大法不一定好使;
第一步取得 批量下载地址,打开thenounproject.com,搜索关键词,比方说admin回车,然后将下面代码贴到网络检查器 控制器中,chrome >developer tool >console ,贴进去后回车,你就会看到啪啪啪的地址栏在变
(function() {
var arr = [];
var urlReg = /url\((.*?)\)/;
$('.Grid-cell').each(function() {
this.click();
var url = urlReg.exec($('.hero-icon').attr('style'))[1];
arr.push({
url: url
});
});
document.write(JSON.stringify(arr));
})()
第二步,用我本土自制的 auto app 自动帮你解决,下载 “批量下载”,鉴于公司的网络,我写了几个测试地址让你们爽歪歪一下
看一下批量下载的全过程,图大看这里
当你要管理的图标超过一定量级的时候,你会很苦恼那么多图标该怎么解决?这里推荐 iconjar 管理app 和 icons8 收集app
毫不犹豫的选择 iconjar,虽然是内测版免费的,功能简洁,界面清爽,支持导入 SVG、TTF、OTF、PNG、GIF;标签管理,系统无遗漏;其中优缺大家自行品鉴
当有了一堆图标时,我想如何制作自己的字体图标,在线生成是一个低成本方法,但是公司网络的不确定性让我一直很没安全感,所以我就想能不能有一个方法可以本地化快速执行,增删改查又很给力呢;让我在github上找到了 fontcustom,简单的命令 就可以完成SVG to fonticons,但是需要安装 Ruby 1.9.2+,装这个费了我不少功夫,最后在井诚的帮助下顺利完成安装
https://github.com/FontCustom/fontcustom
# On Mac
brew install fontforge --with-python
brew install eot-utils
gem install fontcustom
# On Linux
sudo apt-get install fontforge
wget http://people.mozilla.com/~jkew/woff/woff-code-latest.zip
unzip woff-code-latest.zip -d sfnt2woff && cd sfnt2woff && make && sudo mv sfnt2woff /usr/local/bin/
gem install fontcustom
fontcustom compile my/vectors # Compiles icons into `fontcustom/`
fontcustom watch my/vectors # Compiles when vectors are changed/added/removed
fontcustom compile # Uses options from `./fontcustom.yml` or `config/fontcustom.yml`
fontcustom config # Generate a blank a config file
fontcustom help # See all options
别以为有N多图标库就万事大吉了,有一位程序员哥哥(我不会告诉你这个人就是波神)跟我说,每天要临摹3个图标,我吓坏了回应到:要不我每天抄5段代码好了!时刻都不要停止学习和思考,简单的事情其实并不简单;
前人栽树后人乘凉,吃水不忘挖井人……
本文来自网易实践者社区,经作者马宝授权发布