如何用nodejs去做网页截图

JavaScript024

如何用nodejs去做网页截图,第1张

很多情况下,我们都需要在电脑上做一些截图的操作。有哪些常用的截图方法呢?

1、按键盘上的print screen 键:这个方法很麻烦,估计很少人用吧!

如果有如下需求:

1、截取一个网页,也就是一个滚动窗口的所有内容;

2、需要重复截取屏幕上的某一个固定区域,比如一个窗口截图一次后,做了一些修改,要重复截取一次,标识改变的地方;

3、在截图上画矩形框、气泡框、箭头,加汉字等

这样的需求,QQ截图虽然可以实现,但是那就太麻烦了,所以今天给大家推荐一款快捷好用的截图软件,叫做PicPick

软件安装包不大,开启后占用约25MB内存,所以即使设定为开机启动,也不会造成太大的性能影响。同时,这款软件原生支持全中文,并且对于个人及家庭用户是免费的,也不用考虑是否需要汉化或者破解之类的问题。

工具/原料

PicPick

windows

软件主界面介绍

1首先需要下载此软件,截止2013-11-06,最新的版本应该是3.2.8。安装过程中,会要求安装另一个系统优化的软件,大家直接拒绝就可以了

2安装完毕后,此软件界面如图,主要的功能也都体现在主界面上了。

右边的实用工具就不多介绍了,一看就明白,支持“屏幕取色”、“调色”、“放大镜”、“标尺”、“坐标轴”、“量角器”和“白板”功能。绝对是设计师和PPTer的好帮手。

主界面左下方的截图工具才是重点,介绍如下:

1、全屏:当前整个屏幕

2、窗口控件:使用这个截图功能的时候,会出现一个红框,单击鼠标,红框范围内的窗口就会被截取了

3、滚动窗口:比如一个很长的网页,支持一次性截取为图片。虽然很多浏览器都支持,但是这个软件还支持比如IE之类的浏览器,很实用。

4、矩形区域:最常用的,截取一个矩形框中的内容

5、固定区域:截取某一个固定区域

6、任意形状:比如截图一个圆形啊、心形啊之类的都可以

7、重复上次截取:这才是真正的最实用的功能,可以把上一次截取的区域再截取一次,超级好用

截图步骤

1PicPick软件截图,有如下的方法:

1、主界面截图:就是在如下界面上,选择相应的功能

2、在工具栏托盘中,单击PicPick的图标,选择“截取屏幕”

3、使用快捷键,具体的键位设定请参见软件的设置界面,图片中是我最常用的功能和自定义的快捷键

4、在编辑图片的窗口,左上角的文件菜单中,选择截取屏幕

图片修改

1截图之后会自动打开图片编辑的窗口,如图,最常用的文字、矩形框等工具都在界面最上方,使用方法也很简单,单击相应的图形即可

其他设置

1建议勾选该软件的如下设置,会让软件更好用

2建议让软件开机自动启动即可,因为不占太多内存,功能也足够强大

一个叫做html2canvas的库,非常棒的一个库,很强大、但用法非常简单.就这么简单的方法,就可以把我的整个页面截图下来了:

function convertHtml2Canvas() { html2canvas(document.body, { allowTaint: false, taintTest: true }).then(function(canvas) { document.body.appendChild(canvas) }).catch(function(e) { console.error('error', e) })}

目前还有一个问题,就是这种方法默认是把整个页面截取下来的(就是说,会以你的innerHeight和innerWidth为边界,会存在大量的空白),可是,我的卡组只是占了页面的一小部分,我只想要卡组的部分啊。其实已经有了canvas就好办了,我们可以对它进行处理啊。大概思路是:1.把上面得到的canvas对象转成Blob并放到一个img元素。然后再把img.src绘制到canvas里面。这时候调用canvas.drawImage方法就可以截取我们想要的内容了。