设计走查已经是很多需求开发中不可缺少的一环,但是目前走查大部分都停留在人工肉眼对开发还原页面截图和设计稿进行对比找不同,效率比较低。这里整理了一些协助对比,提高开发还原度的工具。
页面对比工具,可以分为三种不同展现形式:
下面详细介绍不同工具使用体验。
chrome 下载地址:perfectpixel
将设计稿上传到网页上,跟网页进行重叠对比,通过移动设计稿以及改变设计稿透明度,查看与底层页面的不同点。
支持上传多个设计稿并进行切换对比,还支持对图片进行反色对比。
总结:功能不多,设计简单,能够满足最基本的设计对比查看。
官网:copixel
使用教程:使用教程
和上面插件的功能类似,将开发稿和设计稿进行重叠对比。
上传设计稿后,降低设计稿的透明度,可以动态改变尺寸、位置、大小。完美重合以后,开始对比。
总结:可以看成上面 perfectpixel 的加强版本,支持图片比例调整、开发面板自定义、快捷键支持等功能
官网:csspeeper
一款轻松查看网页上所有元素的 CSS 属性的插件,效果跟打开开发者调试工具进行审查元素类似。
更加直观,不需要专业技术,直接在开发页面上选中不同区域,实时展示区域内布局、文字背景颜色、间距、对齐方式、行高等相关样式属性。
另一个功能点是,可以直接选中网页的 icon,点击下载。
总结:跟前面两个插件对比,就能发现这个插件重点不在设计稿对比上,可以说没啥关系,但是对于辅助设计查看页面结构,配合对比工具一起使用,可以更加专业地发现页面颜色、布局等细微差距。
企业微信前端开发的一套工具,分为两部分:
插件目前仅支持 Figma,同样通过叠加设计稿,设置透明度进行对比。
不同的是,在 Figma 页面下,可以选择两种方式上传设计稿:
官网截图:
另外一部分功能是在线图片对比,在网站上传入图片后,生成了差异结果图片和相识匹配度:
总结:design-Compare 工具是这里列出来几个工具里面最强大的,虽然插件只支持 Figma,用在线对比网站查看,不用人工去找页面差距,而且能计算出匹配还原度,非常方便
公司内部开源产品,基于 Electron 框架进行开发,可以支持 Windows 和 MacOS 系统。
主要功能有对间距测量、尺寸测量、颜色获取、增加参考线图片对比,也可以将 4 个功能点一起使用。充分利用客户端优势,鼠标或快捷键操作很方便,尺寸和间距测量也很流畅,
看下官网截图:
总结:客户端工具使用非常流畅,特别是元素尺寸测量时,增加的边界检测自动吸附功能,在设计稿和还原稿细节查看时用起来很自然,增加参考线功能更在 PS 里面使用感觉类似。
github 地址:pixelmatch
demo:pixelmatch-demo
一个轻量级的 JavaScript 像素级图片对比库,用来比较测试产生的截图。
代码实现只有 150 行,没有任何依赖。
(1)直接在命令行使用:
pixelmatch image1.png image2.png output.png 0.1
(2)在代码中调用 api 进行对比:
pixelmatch(img1.data, img2.data, diff.data, width, height, {threshold: 0.1});
返回不匹配像素点个数,可以通过图片的尺寸,计算出不匹配百分比,作为衡量设计稿还原指标。
再看下给出的 demo:
threshold 系数为 0.06 时,计算出来 35240 个有差异的像素点,占比有 19.528%。
总结:轻量级代码库,作者参考了两篇论文,加上了抗锯齿像素检测,传入参数 threshold 控制匹配阈值
github 地址:https://github.com/gemini-testing/looks-same
比较图片差异的 JavaScript 库,默认情况下只会比较一些非常明显的差异。
var looksSame = require('looks-same');
looksSame('image1.png', 'image2.png', function(error, {equal}) {
// equal will be true, if images looks the same
});
考虑到人眼对于颜色的感知,提供了一些实际截图对比过程中,可以忽略的一些细节选项:
// 如果想生成差异图片,用 looksSame.createDiff() api
looksSame.createDiff({
reference: '/path/to/reference/image.png',
current: '/path/to/current/image.png',
diff: '/path/to/save/diff/to.png',
highlightColor: '#ff00ff', // color to highlight the differences
strict: false, // strict comparsion
tolerance: 2.5,
antialiasingTolerance: 0,
ignoreAntialiasing: true, // ignore antialising by default
ignoreCaret: true// ignore caret by default
}, function(error) {
...
});
总结:这个包原本为 gemini 网页视觉回归测试工具创建,图片对比考虑到人类视觉感知,会忽略输入框闪烁光标、抗锯齿等细节。
以上从不同角度对比了检测工具,上手成本不高,简单安装一下插件、客户端都可以直接使用。
对于设计人员可以考虑使用这种查看图片对比的形式,借助位置、偏移、透明度、参考线调整,高效走查。
对于开发而言:
(1)前期在开发还原页面时,把设计稿重叠到页面上,直观对比设计稿编码,开发效率更高。
(2)在开发完成,构建部署阶段,设计稿走查也可以成为构建的一个环节,在 CI 中配置一下对比工具,以文件形式导入设计稿,结合自动化测试工具 Puppeteer 等,生成页面截图,计算还原度百分比。
(3)发布后,配置一些定时任务,抓取核心页面的截图,并对比效果,在差异较大情况生成告警,及时发现需求迭代影响现网其它页面展示的情况,或者样式资源加载出错等问题。
紧追技术前沿,深挖专业领域
扫码关注我们吧!