先插两句
作为一个android开发工程师,梦想的样子肯定是明确的需求到开发中不曾增减一个字、完整的原型到每一个toast的文字,细致的业务逻辑到每一个错误的用户友好反馈,详细的UI到按钮按下抬起的变化的色值。
但理想有多丰满,现实就会有多么的骨干,最近就接到了一个任务,开发一个APP,功能按商务拿下改编权的一款APP进行仿制。由于是个紧急任务,而且部门现在人员紧张,UI完全自己搞定。无奈之下下载了对方的apk包后解压发现,里面的图片资源竟然只有drawable-xxhdpi,起初基本都是将图片导入PS,输出drawable-xhdpi、drawable-xxxhdpi的图片,可这样需要预估布局中每一个图标的大小,尝尝输入的图标过大或过小,再重新在PS中调整导出。明明是一个android开发,非要让我体会这无法形容的痛。
多亏之前返回键等图标使用过Vector Asset,就想到使用这个方案是否可以解决这个问题,功夫不负有心人,终于算是找到了对应的解决方案,写篇博客记录一下吧。
正文
矢量图与位图
通过NoBugException的《Android Studio神器之Vector Asset》中有关于矢量图与位图的详细定义:
位图又叫点阵图或像素图,计算机屏幕上的图是由屏幕上的发光点(即像素)构成的,每个点用二进制数据来描述其颜色与亮度等信息,这些点是离散的,类似于点阵。多个像素的色彩组合就形成了图像,称之为位图。
矢量图又叫向量图,是用一系列计算机指令来描述和记录一幅图,一幅图可以解为一系列由点、线、面等到组成的子图,它所记录的是对象的几何形状、线条粗细和色彩等。生成的矢量图文件存储量很小,特别适用于文字设计、图案设计、版式设计、标志设计、计算机辅助设计(CAD)、工艺美术设计、插图等。
不过这么专业的名词,对于我这种懒人来说,实在是不好记,只能记得一个简单的区分方案,就是拉伸了以后会模糊的是位图(jpg、png格式的