您的位置:

网页端截图js(网页版如何截图)

网页端截图js(网页版如何截图)

更新:

本文目录一览:

如何用 js 做网站截图

有个库 html2canvas.js,这个很多人用。

官网示例:

HTML

div id="capture" style="padding: 10px; background: #f5da55"

    h4 style="color: #000; "Hello world!/h4/div

JavaScript

html2canvas(document.querySelector("#capture")).then(canvas = {

    document.body.appendChild(canvas)});

怎么使用node.js进行快速截图

使用node-webshot进行网页截图

用到的npm模块有yargs和node-webshot,关于yargs的文章参考这里 从零开始打造个人专属命令行工具集——yargs完全指南 。

node-webshot是调用phantomjs来生成网页截图的,phantomjs是非常有名的npm项目,相当于一个脚本版的WebKit浏览器 ,通过phantomjs可以使用脚本 和网页进行交互,所以phantomjs经常用来进行网页自动化测试。

phantomjs会和普通的浏览器一样加载完整的网页内容,然后在内存里面进行渲染,虽然肉眼看不到它渲染的页面,但是通过生成图片就可以看到了,node-webshot使用的就是phantomjs的render接口来获取网页截图的。

node-webshot生成谷歌首页的示例代码:

var webshot = require('webshot'); webshot('google.com', 'google.png', function(err) { // screenshot now saved to google.png});phantomjs生成谷歌首页的示例代码: var page = require('webpage').create();page.open('', function() { page.render('github.png'); phantom.exit();});

那为什么不直接使用phantomjs呢?一个字懒!

另外node-webshot还对文件读写进行了简单的封装,相信任何熟悉node.js的开发人员,都能很简单的写出这样的接口,但是既然轮子好用就不要自己造了。

node-webshot流式调用的写法:

var webshot = require('webshot');var fs = require('fs'); var renderStream = webshot('google.com');var file = fs.createWriteStream('google.png', {encoding: 'binary'}); renderStream.on('data', function(data) { file.write(data.toString('binary'), 'binary');});

node-webshit还支持生成移动版的网页截图:

var webshot = require('webshot'); var options = { screenSize: { width: 320 , height: 480 }, shotSize: { width: 320 , height: 'all' }, userAgent: 'Mozilla/5.0 (iPhone; U; CPU iPhone OS 3_2 like Mac OS X; en-us)' + ' AppleWebKit/531.21.20 (KHTML, like Gecko) Mobile/7B298g'}; webshot('flickr.com', 'flickr.jpeg', options, function(err) { // screenshot now saved to flickr.jpeg});

最后再把yargs和node-webshot进行集成,可惜这部分工作人家也帮我们做好了,直接安装就行。

npm isntall -g webshot-cli

使用desktop-screenshot进行系统截图

desktop-screenshot是一个跨平台的系统截图项目,用法和node-webshot类似,只是少了一个url参数。var screenshot = require('desktop-screenshot'); screenshot("screenshot.png", function(error, complete) { if(error) console.log("Screenshot failed", error); else console.log("Screenshot succeeded");});

javascript 网页截图 保存为本地图片

可以做得到。注明:内容非原创。学习javascript的时候觉得好就保存下来的文章:

html2canvas是一个相当不错的JavaScript类库,它使用了html5和css3的一些新功能特性,实现了在客户端对网页进行截图的功

能。html2canvas通过获取页面的DOM和元素的样式信息,并将其渲染成canvas图片,从而实现给页面截图的功能。

它不需要来自服务器任何渲染,整张图片都是在客户端浏览器创建。当浏览器不支持Canvas时,将采用Flashcanvas或

ExplorerCanvas技术代替实现。以下浏览器能够很好的支持该脚本:Firefox 3.5+, Google Chrome,

Opera新的版本, IE9以上的浏览器。

因为每个浏览器渲染页面的方式都不尽相同,所以生成的图片也不太一样。虽然它目前还是处理开发阶段,但还是很值得期待的。

这个插件依赖于jQuery插件,建议使用最新版的。

兼容性

html2canvas能在以下的浏览器中完美的运行。

- Firefox 3.5+

- Chrome

- Opera

- IE9使用方法

1、引入文件

首先我们需要引入jQuery库和html2canvas插件文件,注意html2canvas插件文件一定要在jQuery的后面引入,不然会报错。

script type="text/javascript"

src=""/script

script type="text/javascript"

src=""/script

2、调用插件

通过html2canvas方法调用插件,该方法接受两个参数,第一个为要生成截图的DOM元素,第二个参数为插件的配置

html2canvas(document.body, { allowTaint: true, taintTest: false,

onrendered: function(canvas) { canvas.id = "mycanvas";

//document.body.appendChild(canvas); //生成base64图片数据 var dataUrl =

canvas.toDataURL(); var newImg = document.createElement("img");

newImg.src = dataUrl; document.body.appendChild(newImg); } });

通过一个回调函数来处理获取到的截图。

图片跨域问题

在网页的图片中,如果有跨域图片,调用toDataURL的时候会出错

SecurityError: The operation is insecure.

解决方法是在跨域的服务器上设置header设置为允许跨域请求

access-control-allow-origin: *  access-control-allow-credentials: true

官网主页:

本站文章除注明转载外,均为本站原创或翻译,欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创和谐网络环境。

转载请注明:文章转载自:问说 » html2canvas根据DOM元素样式实现网页截图

本文标题:html2canvas根据DOM元素样式实现网页截图

本文地址:

原文链接:

如何用nodejs去做网页截图

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

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建议让软件开机自动启动即可,因为不占太多内存,功能也足够强大

js能够实现截图吗

一个叫做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方法就可以截取我们想要的内容了。

网页端截图js(网页版如何截图)

本文目录一览: 1、如何用 js 做网站截图 2、怎么使用node.js进行快速截图 3、javascript 网页截图 保存为本地图片 4、如何用nodejs去做网页截图 5、js能够实现截图吗 如

2023-12-08
网页截图js(网页截图截长图)

本文目录一览: 1、如何用nodejs去做网页截图 2、怎么使用node.js进行快速截图 3、如何用 js 做网站截图 如何用nodejs去做网页截图 很多情况下,我们都需要在电脑上做一些截图的操作

2023-12-08
java的js截图,java截图代码

2022-11-24
java截图,Java截图使用Chromeheadless控

2022-11-26
php图片截取,php截图网页

2022-11-28
使用html2canvas进行网页截图:解决无法全屏截图的问

2023-05-19
npmhtml2canvas:JavaScript网页截图工

2023-05-17
如何使用html2canvas实现网站截图?

2023-05-17
java截图,JAVA截图周围暗中间亮是如何实现的

2022-12-01
js打印当前网页,如何打印当前网页

本文目录一览: 1、如何用js实现打印当前页面隐藏的内容?(注:只显示打印按钮,不显示打印内容。) 2、网页打印问题:用javascript调用print()打印网页,打印的时候会缩放,这样打印的效果

2023-12-08
如何保存网页图片?

2023-05-21
在网页插入js,网页如何添加

本文目录一览: 1、简述在网页中插入javascript脚本程序的三种形式 2、怎样在网页中插入JavaScript代码 3、HTML如何插入js? 简述在网页中插入javascript脚本程序的三种

2023-12-08
Vue的页面截图工具及使用方法详解

2023-05-18
微信小程序js页面字符串截取,字符串截取 js

本文目录一览: 1、关于JS截取字符串以及截取数组项的几种常见方法解析 2、js截取字符串怎么写? 3、js字符串如何截取最后一个字符 4、微信小程序,小程序论坛,weixin,小程序字符串怎么截取

2023-12-08
图片恶意js代码(恶意网站图片)

本文目录一览: 1、如何有效防止XSS攻击/AJAX跨域攻击 2、360检测出恶意程序js.Crypt.h 这是什么恶意程序,属于病毒吗 3、如何防范上传的图片包含恶意代码 4、网页老是出现js恶意代

2023-12-08
Android截图详解

2023-05-20
Google浏览器截图快捷键

2023-05-20
如何关掉网页js,如何关掉网页安全防护

本文目录一览: 1、如何禁止浏览器运行 JavaScript 脚本 2、怎样用JS关闭当前页面 3、如何在浏览器中如何关闭javascript功能? 4、IE浏览器怎样禁用js 5、如何关闭禁用浏览器

2023-12-08
js响应网页,网页的响应式

本文目录一览: 1、vue.js做出来的网页是响应式的吗 2、怎么设计制作响应式网页 3、怎么用js调用另一个网页! 4、node.js如何处理网页发过来的请求并响应 ,如何获取网页request中的

2023-12-08
Python截图完全指南

2023-05-20