PHP 8.3.4 Released!

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

User Contributed Notes 3 notes

up
0
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
-6
divinity76 at gmail dot com
4 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
-14
andrew at local dot co dot nz
15 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