PHPで画面をキャプチャする方法

WBOY
リリース: 2016-06-13 13:02:24
オリジナル
792 人が閲覧しました

PHPで画面をキャプチャするにはどうすればいいですか?

PHP を使用して Windows で Web ページのスクリーンショットを取得します

Apache のサービス プロパティで、[ログイン] タブの [サービスとデスクトップの交換を許可する] を選択するだけです。

?

<?php
$browser = new COM("InternetExplorer.Application");
$handle = $browser->HWND;
$browser->Visible = true;
$browser->Width = 500;
$browser->Height = 500;
$browser->Navigate("http://www.un.org");
/* Still working? */
while ($browser->Busy) {
    com_message_pump(4000);
}
$im = imagegrabwindow($handle, 0);
$browser->Quit();
imagepng($im, "iesnap.png");
?> 
ログイン後にコピー

?このコードを実行すると、サーバー上に IE ウィンドウがポップアップし、指定された Web サイトが自動的に開きます。スクリーンショットを撮った後、ウィンドウは自動的に閉じます。これは非常に愚かなことです。

?

?

?

?

?

PHP を使用して Linux で Web ページのスクリーンショットを取得します

Alexa にログインすると、Alexa がクエリ対象の Web サイトのホームページのスクリーンショットを表示することが常に表示されます。このスクリーンショットはどのようにして実現されるのでしょうか。
ページの内容を見ると、Amazon のサービス プログラム を呼び出していることがわかりました。 得られた。
http://ast.amazonaws.com/Xino/?Action=Redirect&Service=AlexaSiteThumbnail&Url=baidu.com&
AWSAccessKeyId=1FVZ0JNEJDA5TK457CR2&Signature=tz4xyqDNcSf8A1v%2BpDo4todvM9c%3D&
サイズ=Small&タイムスタンプ=2008-03-04T06%3A04%3A47.422Z&
DefaultImage=http%3A%2F%2Fclient.alexa.com%2Fcommon%2Fimages%2Fnoimages.gif
この効果を自分の Web サイトで実現したい場合は、Amazon で ID を申請し、そのような呼び出しインターフェイスを取得してそれを実現できます。
しかし、これは探究心とどのように調和するのでしょうか?そこで、いろいろ調べた結果、Webサイトのトップページのスクリーンショットを自力で実現する次の方法を見つけました。

ウェブサイトのトップページのサムネイルの作成を実現します。
手順:
1. ページ クローラー ツールを起動して、選択した Web サイトのホームページをクロールします。
2. キャプチャしたページのスクリーンショットを サーバー に保存します
3. 表示する必要があるサイズに応じて、キャプチャしたページのスクリーンショットを処理します。
4. 結果をユーザーに表示します 。
結論から言うと、重要なのは安定したクローリングツールを使用することです。インターネットで検索したところ、次のツールを見つけました。

Windows 環境では、ページのスクリーンショットをキャプチャするためにこのツールを検討できます:
IECapt.exe
Linux 環境では、ページのスクリーンショットをキャプチャするためにこのツールを検討できます:
HTML2画像
クローラーを取得したら、任意のサーバー言語を使用できるようになります。 このクローラーを呼び出すプログラムを作成し、クロール結果をユーザーに返します。
以下は、IECapt.exe と PHP を組み合わせて Web サイトのスクリーンショットをキャプチャする例です。
Windows/Apache2.2/Php5.2.5 での実行に合格しました。

参考:
1.http://www.zubrag.com/scripts/website-thumbnail-generator.php
2.http://www.guangmingsoft.net/htmlsnapshot/html2image.htm

公式URL: http://www.guangmingsoft.net/htmlsnapshot/html2image.htm
Linux kernel-2.2.14 以降: 必要なライブラリと関連ソフトウェアをインストールします
yum install -y glibc gtk+ fontconfig??cairo libpixman pango pango-devel
html2imageをダウンロード
wget http://www.guangmingsoft.net/htmlsnapshot/html2image.i386.tar.gz
tar xvzf html2image.i386.tar.gz
CD html2image
LD_LIBRARY_PATH パスを設定します
エクスポート LD_LIBRARY_PATH=./
mkdir /usr/X11R6/lib
ln - s /usr/share/X11 /usr/X11R6/lib/X11
Xvfb
を実行します ./Xvfb :1 -screen 0 640x480x24 -nolisten tcp -audit 4 -auth X1.cfg & エクスポート DISPLAY=:1
画像の生成
./html2image www.google.com a.jpg
無視されたエラー:
セキュリティ ポリシー ファイル /usr/X11R6/lib/X11/xserver/SecurityPolicy
を開くときにエラーが発生しました フォント パス要素 /usr/X11R6/lib/X11/fonts/TTF/ を初期化できませんでした。リストから削除しました!
フォント パス要素 /usr/X11R6/lib/X11/fonts/Speedo/ を初期化できませんでした。リストから削除しました!
フォント パス要素 /usr/X11R6/lib/X11/fonts/Type1/ を初期化できませんでした。リストから削除されました!
フォント パス要素 /usr/X11R6/lib/X11/fonts/CID/ を初期化できませんでした。リストから削除しました!
1024x768 フォーマットの容量を生成
jpg 871K
gif 412万
png 1.13M

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート