HTMLファイルをブラウザで表示した形でJPEGファイルに保存するには
どうすればよろしいのでしょうか?
いろいろ試したのですが、うまくいきません。(T_T)
よろしくお願いいたします。
もしかしたら違うかもしれませんが。
ブラウザのウィンドウハンドルを探し(例えば、EnumWindowなどでWindowTextが' - Microsoft Internet Explorer'で終わるウィンドウを探し)、それをキャプチャして保存すればよいかと思います。
キャプチャには、そのウィンドウハンドルからデバイスコンテキストを取得し、そこからBitBltなどでコピーしてやり、それをTJpegFileで保存すればよろしいかと思います。
にしの様ありがとうございます。
WebBrowserにて表示したあとに、そのハンドルを取得すれば
うまくいきますか?
ただ、キャプチャのやり方がいまいちわかっていません。
よろしければ、教えていただけないでしょうか?
WebBrowserとは、TWebBrowserのオブジェクトですか
そうであれば、上のコメントは忘れてください。
あれは、「(自分自身でない別アプリケーションの)HTML表示したブラウザをキャプチャする」という意味ですから。
ここから本題。
WebBrowserでもできないと思います。
webvw.dllというActiveX DLLに、TThumbCtlというクラスが含まれています。
これを使うと、エクスプローラの縮小表示で出てくるようなHTMLのプレビューが取得できます。
縮尺を返れば、ズーム100%状態でも取れたはずですので、これを使えば簡単です。
ただ、もしかしたら環境依存(Win98で使えなかったり)します。
にしの様
貴重なご意見ありがとうございます。
TThumbCtlというのはDELPHIに実装されているクラスでしょうか?
HELPを見た限りでは、見当たりませんでした。
よろしければ、サンプルソースなどつけてもらえれば
ありがたいのですが。。。
かなり勝手なお願いですが。。。
標準ではないです。
ActiveXの取り込みで、webvw.dllを取り込むと、コンポーネントのソースが出力されます。
このコンポーネントをインストールすれば使えます。
詳細は、
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnwebtool/html/webview.asp
こちらです。
# 英語ですが。
サンプルソースが欲しいということなので・・・。
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
にしの様、本栖様ありがとうございました。
いろいろ参考になりました。
これからもよろしくお願いいたします。
ツイート | ![]() |