DOBON.NET DOBON.NETプログラミング掲示板過去ログ

pictureBox等にURL指定

環境/言語:[C#]
分類:[.NET]

pictureBoxに画像を表示する方法は、以下のを拝見しましたが、
 ピクチャボックスに簡単に画像を表示する 【別窓】
 画像ファイルを表示する 【別窓】

pictureBoxにWebサイトにある画像を表示させたい時は、
どうしたらよいのでしょうか。

pictureBox1.Image = Image.FromFile("http://123.XXX.156.XXX/help.gif");
のようにした場合、URIフォーマットは、サポートされていませんと例外が
発生しました。

ご存知の方、ご教授願います。

環境
・VS.NET2003
・C#
・Windowsアプリケーション
回答にならないかもしれませんが、その表示したいファイルを、保存すればいいのではないのでしょうか?
保存して、
pictureBox1.Image = Image.FromFile("ファイル名");
と、すればできると思いますが、どうしてもWebサイトから画像を表示しなければいけないのでしょうか?
■No7547に返信(YUSKさんの記事)
> 回答にならないかもしれませんが、その表示したいファイルを、保存すればいいのではないのでしょうか?
> 保存して、
> pictureBox1.Image = Image.FromFile("ファイル名");
> と、すればできると思いますが、どうしてもWebサイトから画像を表示しなければいけないのでしょうか?

回答ありがとうございます。
仕様につき、可能であれば、Webサイトから画像を表示させたいのです。
YUSKさんの指摘通りクライアント側にダウンロードを考えていますが、
それはそれで、問題が。。。
URL指定は、無理とわかれば、別案(保存)で、乗り切りたいと思います。
詳しい事は分かりませんが、Webサイトの画像をWindowsアプリケーションで表示するには、データベースじゃないと無理じゃないのかなぁ?

他にも方法があるかもしれませんので、詳しい方お願いします。
■No7546に返信(vitoさんの記事)
> pictureBoxに画像を表示する方法は、以下のを拝見しましたが、
>  ピクチャボックスに簡単に画像を表示する 【別窓】
>  画像ファイルを表示する 【別窓】
>
> pictureBoxにWebサイトにある画像を表示させたい時は、
> どうしたらよいのでしょうか。
>
> pictureBox1.Image = Image.FromFile("http://123.XXX.156.XXX/help.gif");
> のようにした場合、URIフォーマットは、サポートされていませんと例外が
> 発生しました。
vitoさん、こんばんは。
文字通り、「URIフォーマットは、サポートされていません」ので、
一度、「http://123.XXX.156.XXX/help.gif」をダウンロードしてから表示させてください。
こちらのサイトTips
ファイルをダウンロードし保存する<http://dobon.net/vb/dotnet/internet/downloadfile.html>を参考にしたら可能だと思います。
> pictureBox1.Image = Image.FromFile("http://123.XXX.156.XXX/help.gif");
> のようにした場合、URIフォーマットは、サポートされていませんと例外が
> 発生しました。

ファイルに保存せずにメモリ上に保存すればいいと思います。
以下のような雰囲気になると思います。


using(WebClient myClient = new WebClient())
{
   MemoryStream streamImage = new MemoryStream(myClient.DownloadData(textBox1.Text));
   pictureBox1.Image = Image.FromStream(streamImage);
}
YUSKさん、ぺがらぼさん 、ant さん
回答ありがとうございます。

画像ファイルを一度、保存(またはメモリ)し、表示する方向で行きたいと
思います。

大変、参考になりました。
ご協力に感謝します。
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板