【Android】リソースの画像サイズを取得する

リソースの画像サイズを取得してみる。

今回は、複数のActivityから利用したいので、別クラスを作成する。
Activityでインスタンスを生成して、リソースの画像を指定し、その画像サイズを受け取る。

【ImageSizeGet.java】

public class ImageSizeGet{

	// 画像のサイズを取得するメソッド
	public String getSize(Context context, int resource_name){
		// リソースからbitmapを作成
		Bitmap image = BitmapFactory.decodeResource(context.getResources(), resource_name);
		
		// 画像サイズ取得
		int width  = image.getWidth();
		int height = image.getHeight();
		
		// 画像サイズの文字列を返す
		String size = "w:" + width + ",h:" + height;
		return size;
	}
}

Context : アプリケーションの環境情報をグローバル(AndroidOSの全域)に受け渡しするためのインターフェース

【Activity000.java】

public class Activity000 extends Activity {

	// リソースファイル名を指定
	int resource_name = R.drawable.img01;
	
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		
		// ImageSizeGetクラスをインスタンス化する
		ImageSizeGet put_text = new ImageSizeGet();
		
		// ImageSizeGetのgetNameメソッドを呼び出す
		String size = put_text.getSize(this, resource_name);

		// TextViewを準備
		TextView tv = new TextView(this);
		
		// テキスト出力
		tv.setText(size);
		setContentView(tv);
	}
}

Activityからメソッドを呼ぶ時に渡す引数Contextには、Activity自身を指すthisを指定する

【出力結果】

w:横幅,h:高さ

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>