imagegrabscreen

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

imagegrabscreen捕获整个屏幕

描述

imagegrabscreen(): GdImage|false

捕获整个屏幕的屏幕截图。

注意:

此函数仅在 Windows 上可用。

参数

此函数没有参数。

返回值

成功时返回图像对象,失败时返回 false

变更日志

版本 描述
8.0.0 成功时,此函数现在返回一个 GDImage 实例;以前返回的是 资源

示例

示例 #1 imagegrabscreen() 示例

此示例演示如何拍摄当前屏幕的屏幕截图并将其保存为 png 图像。

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

参见

添加注释

用户贡献注释 3 个注释

0
Nitrogen
14 年前
如果您设置了多个显示器,此函数只会抓取主显示器;不会像您使用“打印屏幕”键那样抓取所有显示器。

此外,这应该很明显,但无论如何我还是要提一下,如果您正在运行 GPU 密集型应用程序(不是 CPU),调用此函数会导致您的机器和服务器响应出现相当明显的延迟,直到请求完成为止。
-6
divinity76 at gmail dot com
5 年前
如果您出于任何原因需要在 Cygwin 中使用此功能,则可以使用 https://github.com/divinity76/autoit_php 中的库。

- 与 Cygwin 兼容的粗略等效项

<?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);
}
}

(
请注意,与真正的 imagegrabscreen() 不同,函数可能会抛出RuntimeException,如果拍摄图片时出现问题,或者如果autoit.class.php 无法加载)
-16
andrew at local dot co dot nz
16 年前
要使此功能正常工作,您的 Apache 服务必须设置为“允许服务与桌面交互”,否则您只会得到空白图像。要解决此问题,请右键单击我的电脑,选择管理/服务和应用程序/服务 - 找到 Apache 服务(例如 Apache2)并右键单击,选择属性 - 选择登录选项卡并选中“允许服务与桌面交互”复选框。重新启动 Apache。
To Top