2013-04-11 159 views
0

我使用下面的代码,然后将结果保存在jpg文件中。但有时我只能得到一个黑色的图像。这不是一直在发生,我能做些什么来阻止它呢?没有错误抛出,只有一些截图是黑色的。我在Windows上运行它。PHP在屏幕截图时获取黑色图像

$browser = new com('internetexplorer.application'); 
    $browserhandle = $browser->hwnd; 
    $browser->visible = true; 
    $browser->fullscreen = true; 
    $browser->navigate('http://www.example.com'); 
    while ($browser->busy) { 
     com_message_pump(1000); 
     if ($timer + $timelimit < time()) { 
      $browser->stop(); 
      break; 
     } 
    } 
    sleep(5); 
    $img = imagegrabwindow($browserhandle, 0); 
    $browser->Quit(); 

回答

1

更换sleep(5)imagegrabwindow(...)

它帮助我解决同样的问题

我的代码是:

$im = imagegrabwindow($handle, 0); 
imagejpeg($im, "test.jpg"); 
sleep(5); 
$browser->Quit(); 
imagedestroy($im);