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

解決


たか  2003-09-05 23:31:22  No: 4654

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


にしの  2003-09-06 00:36:12  No: 4655

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

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


たか  2003-09-06 00:47:09  No: 4656

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


にしの  2003-09-06 00:53:33  No: 4657

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

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


たか  2003-09-06 01:18:06  No: 4658

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

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

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

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


にしの  2003-09-06 01:41:19  No: 4659

標準ではないです。
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

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

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

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

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


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加