imagegrabscreen

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

imagegrabscreen Захватывает изображение с экрана

Описание

imagegrabscreen(): GdImage|false

Делает скриншот.

Замечание:

Функция доступна только в Windows.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Возвращает объект изображения в случае успешного выполнения, false в случае возникновения ошибки.

Список изменений

Версия Описание
8.0.0 В случае успешного выполнения функция теперь возвращает экземпляр GDImage; ранее возвращался ресурс (resource).

Примеры

Пример #1 Пример использования imagegrabscreen()

В этом примере показано, как сделать снимок экрана и сохранить его, как png картинку.

<?php
$im
= imagegrabscreen();
imagepng($im, "myscreenshot.png");
imagedestroy($im);
?>

Смотрите также

add a note add a note

User Contributed Notes 3 notes

up
2
Nitrogen
14 years ago
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.
up
-2
divinity76 at gmail dot com
5 years ago
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)
up
-11
andrew at local dot co dot nz
16 years ago
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.
To Top