トップソースライブラリiアプリ雑誌/書籍紹介
目次
トップ
iアプリ
 Tips / Sample
 │├最初のiアプリ
 │├Hello, World
 │├テキストに色をつけ...
 │├いろいろな描画機...
 │├画像を読み込んで...
 │├Buttonコンポーネ...
 │└Labelコンポーネン...
 リンク集

項目
画像を読み込んで表示
概要
ソースコード
スクリーンショット
解説

画像を読み込んで表示
最終更新日:2002/06/10

概要

今回は、画像をJARファイルから読み込んでCanvasに表示してみます。画像を使ったとたん見た目が派手になります。

利用されるclass/interface
MediaManager [ getImage(String) ]
MediaImage [ use() ]
Image [ ]
Graphics [ drawImage(Image,int,int) ]
Canvas [ paint(Graphics) ]
IApplication [ start() ]

ソースコード

import com.nttdocomo.ui.*; import com.nttdocomo.io.*; class SampleCanvas extends Canvas{ Image img; public SampleCanvas() { try{ MediaImage mediaImg = MediaManager.getImage("resource:///mgr.gif"); mediaImg.use(); img = mediaImg.getImage(); }catch( ConnectionException e) { }catch( UIException e) { } } public void paint(Graphics g){ g.drawImage(img,5,5); } } public class SampleApp extends IApplication{ public void start() { Display.setCurrent(new SampleCanvas()); } }
スクリーンショット

GIFが表示されています。もぐらくん。

解説

初めて使うclassが3つ登場します。

まず、再描画の旅にGIFをロードしていたのでは、処理が重くなる(ような気がする)ので、局所変数ではなくメンバ変数としてメモリに残しておくことにしましょう。ということで、GIFのロード処理はSampleCanvasのコンストラクタ内で行います。
MediaImage mediaImg = MediaManager.getImage("resource:///mgr.gif"); mediaImg.use(); img = mediaImg.getImage();

MediaManager.getImage("resource:///mgr.gif"); とすることによりJARファイル内のmgr.gifに関連づけられた MediaImage が生成されます。JARファイル内の画像を拾ってくるためには resource:/// で始める必要があります。

次に use() として、実際にGIFをメモリ内に読み込みます。

次に getImage() として MediaImage 型から Image 型に形式を変えます。なんか無駄なような気がするかもしれませんが、Graphics.drawImage()で使うためには必ず必要な処理です。
g.drawImage(img,5,5);

いよいよGIFを表示しています。このコードの意味は座標(5,5)にimgに格納されているGIFを描画するという意味です。どうやら画像の伸縮は出来ないようです。

ということで、GIFの使い方を覚えました。10KBという制約があるのであまり派手には使えませんがアクセント程度には必要となってくるでしょう。

リンク集自作ソフトウェブゲーム