我正在尝试使用PHP Nightrain准备桌面应用程序。 我想每隔10秒拍一次开窗的屏幕截图。我尝试使用html2canvas,但它正在拍摄应用程序打开页面的屏幕截图。 如果我打开微软的话并在其中工作那段时间我想要使用PHP的屏幕截图。 是否可以使用PHP? 还有一件事我想使用与操作系统兼容的PHP来制作桌面应用程序。
答案 0 :(得分:0)
单靠php无法做到这一点。您将需要javascript来截取屏幕截图,将其转换为字符串并通过ajax将其发送到php脚本,然后保存内容。
为此,您可以使用此库http://html2canvas.hertzen.com/。现在魔术发生在接下来的几行代码中:
// an example html page
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.8/jquery.min.js"></script>
<script type="text/javascript" src="./javascripts/html2canvas.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$('#screenshot').on('click', function(e){
e.preventDefault();
html2canvas($('body'), {
onrendered: function(canvas){
var imgString = canvas.toDataURL();
window.open(imgString);
$.ajax({
url: '',
type: 'POST',
data: {
file: imgString
},
success: function(response){
//alert('Everything works fine.');
},
error: function(response){
//alert('Server response error.');
}
});
}
});
});
});
</script>
</head>
<body>
至于IE 7&amp; 8支持 - 谷歌(和其他大型网站)声称最新支持最多1个版本。所以,如果当前版本是10,那么它们只支持9和10.我相信这是一个很好的做法,我也和我的客户一起使用它。 IE&lt;如果您正在开发高级网页,那么...正在努力解决这个问题。如果您的客户仍然坚持使用IE 7&amp; 8支持,您可能需要结帐 Modernizr 和 html5shiv ,这可能会帮助您将html5支持带到IE。
答案 1 :(得分:0)
只能在服务器上运行,检查一下:
<?php
// capture the screen
$img = imagegrabscreen();
imagepng($img, 'screenshot.png');
?>
或强>
<?php
// Capture the browser window
$Browser = new COM('InternetExplorer.Application');
$Browserhandle = $Browser->HWND;
$Browser->Visible = true;
$Browser->Fullscreen = true;
$Browser->Navigate('http://www.stackoverflow.com');
while($Browser->Busy){
com_message_pump(4000);
}
$img = imagegrabwindow($Browserhandle, 0);
$Browser->Quit();
imagepng($img, 'screenshot.png');
?>
搜索对于快速回答非常有用;)