スクリーンショットの自動化、自分でやる

この一連の手紙では、リモートLinuxサーバーでのスクリーンショットサービスの作成について説明します。



6か月前にこの問題に興味を持ちました。

最初の最も明白なソリューションは表面にありました。Xディスプレイバーチャライザーxvfb )、 空の API / CLIを備えたレンダラー、画像操作ユーティリティ(imageMagic)、およびある種の頭脳です。

OpenVZで仮想化されたリモート仮想マシン(VDS)上のDebian4(以降5)。 xvfb; opera とphpはプログラミング言語のセットです。

xvfbのインストールは、標準のパッケージ管理ツールによって実行されます。このソフトウェアは、ほぼすべてのシステムのリポジトリにあります。

唯一のことは、xvfbを起動すると、パッケージがないことを誓うことができるということです。 例 xfonts-baseで。

apt-cache検索フォント| grep baseおよび対応するパッケージのインストール。

他のフォントパックの宣誓も同様に排除されます。

オペラはオフィスで上演されます。 たとえば、debパッケージからのサイト。 すべての警告を削除するには、〜/ .opera / opera6.iniを編集します

[Extensions]

Plugin Failed Warning=0

Ask Flash Download=0

Plugins=0

...

[State]

Accept License=1

Reading Plugins=0

Run=1

...








xvfbとオペラを実行します。



Xvfb :2 -screen 0 1280x1024x24

export DISPLAY=:2.0

/usr/bin/opera -nomail -nosession -disableinputmethods -geometry 1280x1024 -fullscreen "http://habrahabr.ru"






素晴らしい、オペラは絵をレンダリングしました、今では保存でき、7秒待って、フィールドをトリミングできます

xwd -root -display :2.0| xwdtopnm | pnmtojpeg -quality=90 -optimize > /home/web/jj/img/temp.jpg

xwd -root -silent | xwdtopnm | pamcut -left=5 -right=1260 -top=83 -bottom=1023 | pnmtojpeg -quality=85 -optimize > /home/web/jj/img/habr.jpg






今、有能な脳はそれをプログラムし、この文明の祝福を使用します。

結果

それだけです。

少しPR:

ところで、私はvdsplanetからVDSを取得しましたが 、そこではfirstvdsのひどい品質から逃れました。



All Articles