何か創りたい。
http://toshirr.blog13.fc2.com/
* Toshi's Recess Room - Toshi Creates. - i アプリ開発備忘録 (4)
<< 2017/03 - 2017/04 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 - 2017/05 >>

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

[ No. ]
[ 日時 : --/--/-- (--.) --:--:-- ]
[ カテゴリ : スポンサー広告 ]


i アプリ開発備忘録 (4)

また Canvas とか Graphics ネタです。

・画像の表示。
対応している画像の形式は GIF / JPEG / BMP です。
BMP は DoJa-5.0 以降からしかサポートされておらず、
端末のマイピクチャフォルダにも保存できないなど扱いづらい部分もありますので、
写真は JPEG、それ以外のドット絵とか色数の少ない画像は GIF とするとよいでしょう。
GIF は透過も普通に扱えます。またアニメーション GIF にも対応していますが、
ここで説明している方法とは別な方法で扱います。

ここでは JAR ファイルの中にリソースとして埋め込む方法で説明します。
(こうすると必然的に JAR ファイルのサイズが増えますので、
古いプロファイルではサイズ制限に注意しなければなりません。
そのため画像は初回起動時にダウンロードしてスクラッチパッドに保存するという手法がよく使われます)

まず、プロジェクトのフォルダに res フォルダがありますので、そこに画像ファイルを置きます。
ここに置いたファイルがリソースとして埋め込まれるわけです。
念のため、Eclipse のプロジェクト・エクスプローラ上で res フォルダを右クリックして更新し、
認識されているかどうか確認しておきます。

なお、置いたファイルはビルドした時点で自動的に JAR ファイルに埋め込まれますので、
あとはプログラムから利用するコードを書いてしまえば OK です。

Canvas の paint メソッドで描画するわけですが、
ここでは引数として渡された Graphics オブジェクトの drawImage メソッドを使います。
これは Image オブジェクトと描画する座標を引数に取りますので、Image オブジェクトを得るために、
Canvas のコンストラクタかどこかで MediaManager.getImage メソッドで MediaImage オブジェクトを得て、
そのオブジェクトの use メソッドを呼んだ上で getImage メソッドを呼んで Image オブジェクトを得ます。
メソッド名が同じなので注意しましょう。

言葉で説明しても分かりづらいので、簡単なコードを書いてみます。

import com.nttdocomo.io.*;
import com.nttdocomo.ui.*;

public class TestCanvas extends Canvas {

private MediaImage MyMediaImage;
private Image MyImage;

public TestCanvas() {
MyMediaImage = MediaManager.getImage("resource:///MyImage.gif");
try {
MyMediaImage.use();
} catch (ConnectionException e) {
System.out.println(e);
}
MyImage = MyMediaImage.getImage();
return;
}

public void paint(Graphics g) {
g.drawImage(MyImage, 0, 0);
return;
}

}

注意するポイントがいくつかあります。

MediaManager.getImage メソッドに渡す文字列は、スラッシュを 3 つ付けなければなりません。
先ほど勘違いして 2 つしか付けずにハマりました。
また、MediaManager.use メソッドは throws ConnectionException となっていますので、
必ず try - catch で囲って ConnectionException を捕まえられるようにしておかなければなりません。
スポンサーサイト

[ No. 872 ]
[ 日時 : 2009/11/09 (Mon.) 19:31:27 ]
[ カテゴリ : プログラミング ]
[ コメント : 1 ]
[ トラック バック : 0 ]


コメント

[ No. 223 ]
[ 日時 : 2009/11/16 (Mon.) 14:29:15 ]
[ 名前 : BlogPetのOverhand # - ]
[ URI : http://www.blogpet.net/profile/view/8065ec4f87116c7b89a25bec17649460 ]
[ タイトル : Toshiが開発 ]

Toshiが開発したの?


コメントの投稿









トラック バック


トラック バック URI

http://toshirr.blog13.fc2.com/tb.php/872-eeeb68b9


前後の記事

これ以降に書かれた記事 : プロジェクト(BlogPet)
これ以前に書かれた記事 : i アプリ開発備忘録 (3)

プロフィール

Toshi

  • Author:Toshi
  • 何かを創りたい Toshi の記録


ブログ内の検索


最近の記事


最近のコメント


最近のトラック バック


カレンダー

03 | 2017/04 | 05
- - - - - - 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 - - - - - -


月別の記事


カテゴリ別の記事


RSS フィード


<< 2017/03 - 2017/04 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 - 2017/05 >>
* Toshi's Recess Room - Toshi Creates. - i アプリ開発備忘録 (4)
http://toshirr.blog13.fc2.com/
(C) 2005 - 2009 Toshi, All Rights Reserved.

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。