这篇文章主要介绍了PHP截取IE浏览器并缩小原图的方法,涉及PHP调用com组件实现图像截取的相关技巧,需要的朋友可以参考下
本文实例讲述了PHP截取IE浏览器并缩小原图的方法。分享给大家供大家参考,具体如下:
<span style="color: #008000;">//</span><span style="color: #008000;"> 截取一个窗口 Capture a window (IE for example)</span> <span style="color: #800080;">$ie</span> = <span style="color: #0000ff;">new</span> COM("InternetExplorer.Application"<span style="color: #000000;">); </span><span style="color: #800080;">$ie</span>->Navigate2(<span style="color: #800080;">$webaddress</span><span style="color: #000000;">); </span><span style="color: #800080;">$oWSH</span> = <span style="color: #0000ff;">new</span> COM("WScript.Shell"<span style="color: #000000;">); </span><span style="color: #0000ff;">while</span> (<span style="color: #800080;">$ie</span>->ReadyState!=4) <span style="color: #008080;">usleep</span>(10000<span style="color: #000000;">); </span><span style="color: #800080;">$handle</span> = <span style="color: #800080;">$ie</span>-><span style="color: #000000;">HWND; </span><span style="color: #800080;">$ie</span>->Visible = <span style="color: #0000ff;">true</span><span style="color: #000000;">; </span><span style="color: #0000ff;">while</span> (<span style="color: #800080;">$ie</span>-><span style="color: #000000;">Busy) { </span><span style="color: #008080;">com_message_pump</span>(4000<span style="color: #000000;">); } </span><span style="color: #800080;">$im</span> = imagegrabwindow(<span style="color: #800080;">$handle</span>, 0<span style="color: #000000;">); </span><span style="color: #800080;">$ie</span>-><span style="color: #000000;">Quit(); </span><span style="color: #800080;">$file</span>="public/images/".<span style="color: #008080;">time</span>()."iesnap.png"<span style="color: #000000;">; imagepng(</span><span style="color: #800080;">$im</span>,<span style="color: #800080;">$file</span><span style="color: #000000;">); </span><span style="color: #008000;">//</span><span style="color: #008000;">--------------------</span> <span style="color: #800080;">$browser</span> = <span style="color: #0000ff;">new</span> COM("InternetExplorer.Application"<span style="color: #000000;">); </span><span style="color: #800080;">$handle</span> = <span style="color: #800080;">$browser</span>-><span style="color: #000000;">HWND; </span><span style="color: #800080;">$browser</span>->Visible = <span style="color: #0000ff;">true</span><span style="color: #000000;">; </span><span style="color: #800080;">$browser</span>->FullScreen = <span style="color: #0000ff;">true</span><span style="color: #000000;">; </span><span style="color: #800080;">$browser</span>->Navigate(<span style="color: #800080;">$webaddress</span><span style="color: #000000;">); </span><span style="color: #0000ff;">while</span> (<span style="color: #800080;">$browser</span>-><span style="color: #000000;">Busy) { </span><span style="color: #008080;">com_message_pump</span>(4000<span style="color: #000000;">); } </span><span style="color: #800080;">$im</span> = imagegrabwindow(<span style="color: #800080;">$handle</span>, 0<span style="color: #000000;">); </span><span style="color: #800080;">$browser</span>-><span style="color: #000000;">Quit(); </span><span style="color: #008000;">//</span><span style="color: #008000;">opendir("public/images/");</span> <span style="color: #800080;">$new_img</span>=imagecreatetruecolor("206","132"<span style="color: #000000;">); </span><span style="color: #800080;">$file</span>="public/images/".<span style="color: #008080;">time</span>()."ie.png"<span style="color: #000000;">; imagecopyresampled(</span><span style="color: #800080;">$new_img</span>,<span style="color: #800080;">$im</span>,0,0,206,132,206,142,1024,768<span style="color: #000000;">); imagepng(</span><span style="color: #800080;">$new_img</span> ,<span style="color: #800080;">$file</span><span style="color: #000000;">); imagedestroy(</span><span style="color: #800080;">$new_img</span>);