HTMLファイルを表示形式でJPEGに変換するには?

解決


たか  2003-09-05 23:31:22  No: 4654  IP: [192.*.*.*]

HTMLファイルをブラウザで表示した形でJPEGファイルに保存するには
どうすればよろしいのでしょうか?
いろいろ試したのですが、うまくいきません。(T_T)
よろしくお願いいたします。

編集    削除
にしの  2003-09-06 00:36:12  No: 4655  IP: [192.*.*.*]

もしかしたら違うかもしれませんが。

ブラウザのウィンドウハンドルを探し(例えば、EnumWindowなどでWindowTextが' - Microsoft Internet Explorer'で終わるウィンドウを探し)、それをキャプチャして保存すればよいかと思います。
キャプチャには、そのウィンドウハンドルからデバイスコンテキストを取得し、そこからBitBltなどでコピーしてやり、それをTJpegFileで保存すればよろしいかと思います。

編集    削除
たか  2003-09-06 00:47:09  No: 4656  IP: [192.*.*.*]

にしの様ありがとうございます。
WebBrowserにて表示したあとに、そのハンドルを取得すれば
うまくいきますか?
ただ、キャプチャのやり方がいまいちわかっていません。
よろしければ、教えていただけないでしょうか?

編集    削除
にしの  2003-09-06 00:53:33  No: 4657  IP: [192.*.*.*]

WebBrowserとは、TWebBrowserのオブジェクトですか
そうであれば、上のコメントは忘れてください。
あれは、「(自分自身でない別アプリケーションの)HTML表示したブラウザをキャプチャする」という意味ですから。

ここから本題。
WebBrowserでもできないと思います。
webvw.dllというActiveX DLLに、TThumbCtlというクラスが含まれています。
これを使うと、エクスプローラの縮小表示で出てくるようなHTMLのプレビューが取得できます。
縮尺を返れば、ズーム100%状態でも取れたはずですので、これを使えば簡単です。
ただ、もしかしたら環境依存(Win98で使えなかったり)します。

編集    削除
たか  2003-09-06 01:18:06  No: 4658  IP: [192.*.*.*]

にしの様
貴重なご意見ありがとうございます。

TThumbCtlというのはDELPHIに実装されているクラスでしょうか?
HELPを見た限りでは、見当たりませんでした。

よろしければ、サンプルソースなどつけてもらえれば
ありがたいのですが。。。

かなり勝手なお願いですが。。。

編集    削除
にしの  2003-09-06 01:41:19  No: 4659  IP: [192.*.*.*]

標準ではないです。
ActiveXの取り込みで、webvw.dllを取り込むと、コンポーネントのソースが出力されます。
このコンポーネントをインストールすれば使えます。

詳細は、
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnwebtool/html/webview.asp
こちらです。
# 英語ですが。

編集    削除
本栖  2003-09-06 03:46:17  No: 4660  IP: [192.*.*.*]

サンプルソースが欲しいということなので・・・。

Delphi ML 過去ログ (TWebBrowser)
http://www2.big.or.jp/~osamu/Delphi/Tips/key.cgi?key=33#0247.txt

ExtractImage.pas (COM)
http://hp.vector.co.jp/authors/VA031252/extractimage/index.html

編集    削除
たか  2003-09-06 18:29:46  No: 4661  IP: [192.*.*.*]

にしの様、本栖様ありがとうございました。

いろいろ参考になりました。
これからもよろしくお願いいたします。

編集    削除