Webカメラの静止画像をWebBrowserで表示しその画像を自動保存したいのですがどうしたらよいのでしょうか。できれば参考になるコードがあればありがたいです。
これが参考になるでしょう。
...save all images of a TWebbrowser?
http://www.swissdelphicenter.ch/en/printcode.php?id=1924
all じゃなくて、特定の画像ファイルだけでしたら、for ループのなかで
判断するといいでしょう。
早速の回答ありがとうございます。
マウスの右クリックで画像の保存はできるのですが参考のコードの
for k := 0 to WebBrowser.OleObject.Document.Images.Length - 1 doの
下を通過しません。何ででしょうね。
ソースを見てみなければ…
JavaScriptなんか使ってない?
WebBrowserに直接JPEGファイルを読ませてそれを保存するのはできたんですがWebカメラからの画像が保存できないんです。
JPEGファイルはどこにあるの?
Webカメラはどこにあるの?
どのようにWebBrowserで表示してるの?
Webカメラ(panasonic BL-C10)はネットワーク上です。HTMLにカメラにアクセスするコードを書いて(メーカからのサンプルコード)WebBrowserに渡しています。マウス操作でJPEGファイルを保存できるということはWebBrowserは画像を保持してるんですよね。あまりこういう処理はやったことないんでご教授お願いします。
HTMLソースコードを自分で解析すれば、保存の仕方もタイミングも分かるはず。
自力で挑戦してみたらどう?
HTMLのコードは
<FRAME SRC="http://192.168.1.253/SnapshotJPEGResolution=320x240">
だけなんですけどWebBrowser側では保持した画像をとれないんでしょうかね
私の能力不足ですね
http://192.168.1.253/SnapshotJPEGResolution=320x240
このソースの内容を解析すること。
なかなか厳しい先生ですね。ヒントはないですか。
ちと焦ってます。
画像が表示された時、OnNavigateComplete2イベントが発生するはず。
その画像がある場所は、LocationURL。
LocationURLにはWebBrowser.Navigateのfile////c:\worl\tet.htmlになってます。的はずしてるのかな。
画像のプロパティのアドレスはどうなってる?
画像のプロパティって?。WebBrowserのプロパティの中の一つ?
すみません。お手数かけます。
>HTMLのコードは
><FRAME SRC="http://192.168.1.253/SnapshotJPEGResolution=320x240">
このURL間違ってない?(「?」が抜けてる)
http://192.168.1.253/SnapshotJPEG?Resolution=320x240
ごめんなさい。抜けてます。
Web上のページを表示した時はちゃんと画像を保存できるのに何でWebカメラからはだめなんでしょう。マウスの右クリックの画像保存ができるということはWebBrowserは画像を保持してるんですよね。
表示されているWebカメラの画像を右クリックして「プロパティ」を開いたら、
画像のアドレス(URL)はどうなってる?
http://192.168.1.253/SnapshotJPEG?Resolution=320x240になっています。
UrlDownloadToFile(nil, 'http://192.168.1.253/SnapshotJPEG?Resolution=320x240', 'Snapshot.jpg', 0, nil);
これを実行したら、'Snapshot.jpg'ファイルにWebカメラの画像が入る?
貴重な時間ありがとうございます。会社へ行って試してみます。
保存できました。ありがとうございます。
UrlDownLoadToFileなんて思いつきませんでした。いろいろ試してみます。
またほかの方法も研究してみます。
さすがですね。今後ともよろしくお願いします。
ツイート | ![]() |