Canvasに画像を描く(表示する) | とある文系SEの開発日記

とある文系SEの開発日記

文系学部から某SIerに就職が決まったぺーぺーエンジニアのブログ

Canvasに画像を表示させる方法

Bitmapを使って表示させる


【x:100、y:100、画像=image.jpgを描画する】





@Override
protected void onDraw(Canvas canvas) {

//画像をCanvasに表示させるためのBitmapを作る
Bitmap bitmap;

  //画像のリソースを取得
//resに"image.jpg"がありますよーっていう合図
Resources res = this.getContext().getResources();

//リソースから"image.jpg"を取得し、Bitmapに変換する
bitmap = BitmapFactory.decodeResources(res, R.drawable.image);

//Canvasに描画
canvas.drawBitmap(bitmap, 100.0f, 100.0f, new Paint());

}



【別解】



@Override
protected void onDraw(Canvas canvas) {

//画像をCanvasに表示させるためのDrawableオブジェクトを作る
Drawable drawable;

  //画像のリソースを取得する
drawable = this.getContext().getResources().getDrawable(R.drawable.image);

//画像の幅
int width = drawable.getIntrinsicWidth();
//画像の高さ
int height = drawable.getIntrinsicHeight();

//画像の位置情報を定める
drawable.setBounds(100.0f, 100.0f, width, height);

  //Canvasに描画
drawable.draw(canvas);

}