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

スマートデバイスで画像を表示

環境/言語:[WindowsXP,VS.NET, 2003C# スマートデバイスアプリケーション]
分類:[.NET]

はじめまして。
初心者で、何も分かっていないので、基本的なことかもしれませんが、質問させてください。.NET C#のスマートデバイスアプリケーションを使って開発を始めようとしています。普通のC#のように
pictureBox.Image = Image.FromFile(@"C。。。);
としてみたのですが、そんな方法ではないようです。
どのようにしたら表示できるのか、どうか、教えてくださいm(_ _)m
> pictureBox.Image = Image.FromFile(@"C。。。);
> としてみたのですが、そんな方法ではないようです。

どの時点(コンパイル時、実行時?)で、どんなエラーが出ましたか?

以下、あてずっぽうです。
外れてたらごめんなさい。

Windows Mobile にはドライブやカレントディレクトリの概念がありません。

ビットマップファイルのファイル名は、Image.FromFile(@"\My Documents\hoge.bmp") のように、\ から始まるフルパス名を記述しましょう。
返信ありがとうございます。

> どの時点(コンパイル時、実行時?)で、どんなエラーが出ましたか?

pictureBox.Image = Image.FromFile(@"C。。。);

の右辺で、Image.と書いても何も出てこず、
「'System.Drawing.Image' に 'FromFile' の定義がありません。」
と表示されます。
普通のC#なら、Image.としたときにFromFile等が出てきますが、違いが分からず
困っています。。。
2006/01/30(Mon) 20:29:06 編集(投稿者)

> 普通のC#なら、Image.としたときにFromFile等が出てきますが、違いが分からず
> 困っています。。。

「違い」はヘルプに書かれています。

スマートデバイス用の .NET Framework は .NET Compact Framework と呼ばれる物で、名前からも想像できるように PC 向けの .NET のサブセットです。

.NET Compact Framework はサブセットであるため、.NET Framework で提供されているクラスやクラスメソッドのすべてがサポートされてるわけではありません。

.NET Compact Framework で利用可能なメソッドのヘルプには、その旨が記載されています。

逆に、.NET Compact Framework で利用可能と記載の無いメソッド、クラスは使用不可能ということになります。

Image クラスのヘルプを見る限り、せいぜい Image.FromHBitmap() 位しか使えそうなメソッドはなさそうですね。

読み込みたい画像ファイルが Windows Bitmap なら、Bitmap クラスを使った方がよさそうです。

JPEG や GIF などの読み込みは、.NET Compact Framework では相変わらずサポートされていないようです。
> JPEG や GIF などの読み込みは、.NET Compact Framework では相変わらずサポートされていないようです。

私は実際の環境がないため正確にはわかりませんが、エミュレータで動かした限りでは、Bitmapクラスでjpgやgifも読み込めるようでした。本当に読み込めないのでしょうか?
> 私は実際の環境がないため正確にはわかりませんが、エミュレータで動かした限りでは、Bitmapクラスでjpgやgifも読み込めるようでした。本当に読み込めないのでしょうか?

API レベルではできるかもしれません。

Bitmap クラスは Windows Bitmap のラッパなので、Windows Bitmap しか読み込めないものと判断しました。

.NET Framework でも、Bitmap クラスで JPEG/GIF を読めたりしましたっけ? (^^;
> .NET Framework でも、Bitmap クラスで JPEG/GIF を読めたりしましたっけ? (^^;
はい。(^^;

http://www.microsoft.com/japan/msdn/library/ja/cpguide/html/_gdiplus_loading_and_displaying_bitmaps_usecsharp.asp

[ビットマップの読み込みと表示]
》 Bitmap クラスは、BMP、GIF、JPEG、PNG、TIFF などの複数の
》 ファイル形式をサポートしています。
>>.NET Framework でも、Bitmap クラスで JPEG/GIF を読めたりしましたっけ? (^^;
> はい。(^^;

あれま。。。
これまでずっと、馬鹿正直に Image.FromFile() してました>私
>http://www.microsoft.com/japan/msdn/library/ja/cpguide/html/_gdiplus_loading_and_displaying_bitmaps_usecsharp.asp

pictureBox1.Paint += new System.Windows.Forms.PaintEventHandler(this.pictureBox1_Paint);
とすることで表示できるようになりました。みなさんありがとうございます。
解決済み!

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