很久没有写关于截图控件的文章了,借着这次截图控件新功能升级,向大家介绍一下牛牛截图!
大家知道,我们对于截图控件的功能性、易用性以及体验都有着非常高的要求,总结如下:
今天,我们截图控件更进一步,新增加了一项大家都喜欢的功能-截长图,希望大家能够喜欢!
截长图,顾名思义,就是能够选中有限的区域,然后利用鼠标滚动后,将原本未显示的区域也一并截取下来,并最终合并成一张完整的长图;它的应用范围也非常的广泛,比如信息分享、证据固定、数据存档等等。
从前期的技术调研、测试,到后来的功能开发与集成,最后进行细节完善、兼容性优化等处理,我们一共花了半个多月的时间;回过头来看,原理和流程大致如下:
利用现有截图中的截图区域选择功能,框选要截长图的区域
点击工具栏上指定按钮,触发截长图功能,定时的截取选中区域的图片,同时触发滚动条向下滚动 (实际应用中也可以不触发,而是人为的进行滚动)
每次截取下来的图片,在内存中利用opencv进行灰度化,然后对相邻的两张图片进行模式匹配,标记出来重叠的区域,在去掉重叠区域的前提下将两张图片进行合并
因为图片的宽度都是一样的,所以只需要考虑高度上的重叠因素
停止截长图,将最终合成的图片复制到剪贴板,与原有截图流程进行对接
原理上来讲,不是太难,主要在于性能、内存、兼容性以及使用体验上的种种优化。
目前我们已经上线了Windows的桌面版控件以及浏览器版本控件,大家如果喜欢,可以到我们的网站上进行体验,大致流程如下:
完整的操作流程如下:
整个截长图流程保存下来的图片如下:
桌面版控件测试可以下载如下程序包:
http://leeqia.com/download/NiuniuCapture.zip
目前我们只是在Windows平台上实现了截长图的功能,Linux以及macOS平台的截长图功能正在开发中,敬请期待!
牛牛截图从2014年上线第一版以来,已经过去了9年了,未来的路还很长,我们将继续砥砺前行!新功能上线不是结束,我们会持续进行迭代优化,努力打造全网最优秀的截图体验!