node-webkit 屏幕截图功能
做 IM 屏幕截图是少不了的,之前 windows 版本是调用的 qq 输入法的截图功能,这个版本又再次尝试自己实现发现是可以的,getusermedia 的权限很高,代码如下
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 2 "http://www.w3.org/TR/html4/loose.dtd"> 3 <html> 4 <head> 5 <title></title> 6 </head> 7 <body > 8 <video id='vd' onload="snap()"></video> 9 <input type=button value=snap onclick="snap()" /> 10 <script> 11 12 function snap(){ 13 var constraints = { 14 video: { 15 mandatory: { 16 maxWidth: window.screen.width, 17 maxHeight: window.screen.height, 18 maxFrameRate: 30, 19 chromeMediaSource: 'screen' 20 } 21 } 22 } 23 // constraints = {video: true, audio: true}; 24 console.log(constraints); 25 navigator.webkitGetUserMedia(constraints, function(localSource){ 26 console.log(localSource); 27 vd.src = webkitURL.createObjectURL(localSource); 28 vd.play(); 29 },function(err){ 30 console.log('error',err); 31 }) 32 33 } 34 35 </script> 36 </body> 37 </html>
可以把屏幕全部捕获,别说截图 录屏都可以
PS 高版本的 nw ,package.json 需要 "chromium-args": "--enable-usermedia-screen-capturing"