imagegrabscreen

(PHP 5 >= 5.2.2, PHP 7, PHP 8)

imagegrabscreenCaptures the whole screen

说明

imagegrabscreen ( ) : GdImage|false

Grabs a screenshot of the whole screen.

Note:

This function is only available on Windows.

参数

此函数没有参数。

返回值

Returns an image object on success, false on failure.

更新日志

版本 说明
8.0.0 On success, this function returns a GDImage instance now; previously, a resource was returned.

范例

Example #1 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);
?>

参见

User Contributed Notes

divinity76 at gmail dot com 22-Mar-2019 02:45
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)
Nitrogen 12-Dec-2009 07:22
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.
andrew at local dot co dot nz 18-Apr-2008 04:02
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.