0

以下のコードを使用して、結果を jpg ファイルに保存します。しかし、黒い画像しか得られないことがあります。常に発生しているわけではありません。これを防ぐにはどうすればよいですか? エラーはスローされず、一部のスクリーンショットのみが黒くなります。そして、私はそれをWindowsで実行します。

 $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();
4

1 に答える 1

1

sleep(5)後に交換imagegrabwindow(...)

同じ問題を解決するのに役立ちました

私のコードは:

$im = imagegrabwindow($handle, 0);
imagejpeg($im, "test.jpg");
sleep(5);
$browser->Quit();
imagedestroy($im);
于 2013-05-07T10:16:06.513 に答える