BitmapFactoryで画像を作れ!
今までリソースからBitmap形式の画像を取得するには、loadImageメソッドを自作し対応していた。
しかしBitmapFactoryを使うことでこれが非常に簡単になるのだ。なるのだ!
そのやり方は、
Bitmap bmp = BitmapFactory.decodeResource(res, id);
これだけ。resはリソース、idはリソースのIDが入ります。詳しくはソースを見るとわかると思います。
しかも画像の高さと幅は自動で取得してくれるっぽい。すごいぞBitmapFactory。
loadImageメソッドを作ってたのがばからしくなる。
というかloadImageメッソド内の処理はサンプルの“Snake"でやっていた処理と同じである。
なのでリソースから画像を読み込むにはこの方法なのかと信じていた。それがこんな方法があるとは。
というわけでこれからはBitmapFactoryを使うと楽だ。
ソースはやっつけだけど以下の感じで。
ソース
package net.swelt.android.animation; import android.app.Activity; import android.os.Bundle; import android.content.Context; import android.graphics.*; import android.view.*; public class AnimationTest extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); setContentView(new AnimationView(this)); } public class AnimationView extends View { public AnimationView(Context context) { super(context); } @Override public void onDraw(Canvas canvas) { Bitmap bmp = BitmapFactory.decodeResource(getContext().getResources(), R.drawable.kirby); canvas.drawBitmap(bmp, 0, 0, null); } } }