--/--/--(--)


上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
コメント(-) | トラックバック(-) | --:--:--

2010/11/20(土)


画像クラスBitmapは、BitmapFactoryクラスより生成します。android OSでは1つのアプリケーションに割り当てられるメモリサイズが非常に小さいため、画像を読み込む際には注意が必要です。

画像ファイル
/res/drawable/image_sample.png

import android.app.Activity;
import android.content.Resources;
import android.graphics.Bitmap;
import android.graphics.Bitmap.Config;
import android.graphics.BitmapFactory;
 
public class MyClass extends Activity{
 
 public void myMethod(String path){
  // リソースIDから読み込む
  Resources rsc = getResources();
  Bitmap bmp1 = BitmapFactory.decodeResource(rsc,R.drawable.image_sample);
 
  // 直接ファイル名(path)を指定する場合
  Bitmap bmp2 = BitmapFactory.decodeFile(path);
 
  // 画像のサイズ情報のみ取得する
  // 幅:opt.outWidth [px] 高さ:opt.outHeight [px]
  BitmapFactory.Options opt = new BitmapFactory.Options();
  opt.inJustDecodeBounds = true; // 画像サイズ情報のみ取得
  BitmapFactory.decodeFile(path,opt);
  int width = opt.outWidth();
  int height = opt.outHeight();
 
  // オプションを指定して読み込むサイズを調節する
  opt.inSampleSize = 4; // 1/4のサイズで読み込む 2,4,8,16 ……
  opt.inJustDecodeBounds = false;
  Bitmap bmp3 = BitmapFactory.decodeFile(path,opt);
 
  // ビットマップを加工する
  // ALPHA_8:Alphaのみ
  // RGB_565:Alphaなし
  // ARGB_4444:16bit階調
  // ARGB_8888:32bit階調
  int w = bmp3.getWidth();
  int h = bmp3.getHeight();
  Bitmap bmp4 = bmp3.copy(Bitmap.Config.ARGB_4444,true);
  int[] pixels = new int[w * h];
  Bitmap bmp5 = bmp4.getPixels(pixels,0,w,0,0,w,h);
 }
}

コメント(0) | トラックバック(0) | 12:46:16
コメントを書く

管理者にだけ表示を許可する
トラックバック:0 - http://genmaicha460.blog27.fc2.com/tb.php/46-5b80ab9d

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