imagegrabscreen()
(PHP 5 >= 5.2.2, PHP 7)
Captures the whole screen
说明
imagegrabscreen(void): resource
Grabs a screenshot of the whole screen.
Note:This function is only available on Windows.
返回值
Returns an image resource identifier on success,FALSE
on failure.
范例
imagegrabscreen() example
This example demonstrates how to take a screenshot of the current screen and save it as a png image.
<?php $im = imagegrabscreen(); imagepng($im, "myscreenshot.png"); imagedestroy($im); ?>
参见
imagegrabwindow()
Captures a window
If you have multiple displays set up, this function will only grab the primary display; not all of them like you would with the 'Print Screen' key. Also, this should be pretty obvious but I'll mention it anyway, if you're running GPU-intensive applications (not CPU), calling this function will cause quite some significant lag to your machine and server response until the request is complete.
if you for whatever reason need this in Cygwin, this can be done with the library at https://github.com/divinity76/autoit_php - cygwin-compatible rough equivalent: <?php if(!function_exists("imagegrabscreen")){ function imagegrabscreen()/*:gd-resource*/{ require_once("autoit.class.php"); $au=new AutoIt(); $png_binary=$au->_ScreenCapture_Capture(); return imagecreatefromstring($png_binary); } } (note that unlike the real imagegrabscreen() , this function may throw a RuntimeException if there is a problem taking the picture, or if autoit.class.php cannot be loaded)
For this to work your Apache service must be set to 'Allow service to interact with desktop' otherwise you will just get a blank image. To fix this right-click My Computer, select Manage/Services and Applications/Services - find the apache service (like Apache2) and right-click, select Properties - choose the Log on tab and check the 'Allow service to interact with desktop' checkbox. Restart Apache.