代码之家  ›  专栏  ›  技术社区  ›  Ross

让imagegrabscreen开始工作

  •  1
  • Ross  · 技术社区  · 16 年前

    我正试着去 imagegrabscreen

    我正在使用以下代码:

    <?php
    $im = imagegrabscreen();
    
    header('Content-type: image/png');
    imagepng($im);
    imagedestroy($im);
    ?>
    

    此时,我得到了一张黑色的立体图像,大小与我的二次显示器(1024*768)相当。我使用的是Apache2.2,作为服务运行,Vista SP1关闭UAC,PHP5.2.8和GD(信息如下)。我已经照上面的说明做了 图像采集屏幕 imagegrabwindow .

    这是一个bug(其他人运行这个方法有困难吗?)还是我做错了什么?

    Array
    (
        [GD Version] => bundled (2.0.34 compatible)
        [FreeType Support] => 1
        [FreeType Linkage] => with freetype
        [T1Lib Support] => 1
        [GIF Read Support] => 1
        [GIF Create Support] => 1
        [JPG Support] => 1
        [PNG Support] => 1
        [WBMP Support] => 1
        [XPM Support] => 
        [XBM Support] => 1
        [JIS-mapped Japanese Font Support] => 
    )
    

    Apache服务登录详细信息:

    http://www.kalleload.net/uploads/maogfnfnczfh.png http://www.kalleload.net/uploads/maogfnfnczfh.png

    4 回复  |  直到 16 年前
        1
  •  1
  •   Hugh Bothwell    16 年前

    我查看了imagegrabscreen()的源代码;

    当前代码调用GetDC(0),根据 http://msdn.microsoft.com/en-us/library/dd144871(VS.85).aspx 应返回“整个屏幕”的设备上下文,但 “要获取特定显示器的DC, 使用EnumDisplayMonitors和CreateDC函数“

        2
  •  0
  •   Alex Essilfie    13 年前

    我想 imagegrabscreen() 仅适用于Windows XP,不适用于Vista。
    你应该检查一下 link

    推荐文章