[delphi-users:2972] Webbrowserで「名前を付けて画像を保存する」を実装する。

173 views
Skip to first unread message

kotto

unread,
Jan 28, 2013, 9:39:50 AM1/28/13
to delphi...@freeml.com
こんにちは、いつもお世話になってます。稲富です。

EmbeddedWB(Webbrowserの拡張コンポーネント)で右クリックのメニューを独自に
作っているのですが、
「名前を付けて画像を保存」というのはどのように実装するのでしょうか?

調べ見てたらこれが出てきたのですが、

ExecWB(OLECMDID_SAVEAS, OLECMDEXECOPT_PROMPTUSER);

これでは、そのページのhtmlを保存しにいくみたいですし。やり方が違うので
しょうか?
よろしくお願いします。


MLホームページ: http://www.freeml.com/delphi-users

----------------------------------------------------------------------
練習や試合の予定調整は「とっとと決め太郎」におまかせ!
http://ad.freeml.com/cgi-bin/sa.cgi?id=j0rdx
------------------------------------------------------[freeml byGMO]--

Mr.XRAY

unread,
Jan 31, 2013, 9:03:28 AM1/31/13
to delphi...@freeml.com
【[delphi-users:2972] Webbrowserで「名前を付けて画像を保存する」を実装す
る。】 へのレスです.

こんにちは,Mr.XRAYです.

>「名前を付けて画像を保存」というのはどのように実装するのでしょうか?

TImageのCanvasにDrawメソッド等で画像を描画するコードを書きます.
それを実行すると,TImageに画像が表示されます.
それと同じように,ブラウザに文字列や画像を表示するには,HTMLという言語
でコードを書きます.
ブラウザを起動して,そのコードを書いたファイルを表示すると,
そのHTMLのコードの内容によって,いろいろなものが表示されます.

このHTMLコードは,主に「タグ」というのでオブジェクトを区別しています.
例えば画像は次のようになります.imgタグというものです.

<img src="Images/IE_EventSink_11.gif" width="646" height="546">

src, width, height等は'属性'といいますが,プロパティのようなものです.
Images/IE_EventSink_11.gif が画像のファイル名です.
ただし,これは,サーバのルートからの相対パスとなっています.
したがって,マウスカーソル下の画像を保存するには,

(1) ウェブページ内でのマウスカーソル位置の,
要素(IHTMLElement)からタグ情報を取得
(2) そのタグがIMGだったら,scr= 以下の画像のバスを取得
(3) ネット上からこの画像をダウンロードするコードを実行

という手順になると思います.


MLホームページ: http://www.freeml.com/delphi-users

----------------------------------------------------------------------
メンバーで使える掲示板を活用しよう!
http://ad.freeml.com/cgi-bin/sa.cgi?id=j0Z9n
------------------------------------------------------[freeml byGMO]--

kotto

unread,
Feb 1, 2013, 2:48:41 AM2/1/13
to delphi...@freeml.com
Mr.XRAYさん

稲富です。

返信有り難うございます!!

IHTMLElement Delphiで検索するとMr.XRAYさんのサイトが出てきて、

941_ウェブページのテキスト入力とボタンクリック等 と
942_TEmbeddedWB コンポーネント が大変参考になりそうです。

それとこのメールで教えて頂いたことで、なんとかなりそうです。

なんともなりませんでしたら、また教えて下さいv

有り難うございました。
MLホームページ: http://www.freeml.com/delphi-users

----------------------------------------------------------------------
メールだけでみんなを招待できる便利機能♪
http://ad.freeml.com/cgi-bin/sa.cgi?id=j1jDB
------------------------------------------------------[freeml byGMO]--

Reply all
Reply to author
Forward
0 new messages