Android Bitmapビットマップの使用

4479 ワード

BitmapFactoryの使用 (Creates Bitmap objects from various sources, including files, streams, and byte-arrays.) 
BitmapFactoryを使用すると、指定したファイルからdecodeFile()を使用してBitmapを解くことができます.定義されたピクチャリソースでは,decodeResource()を用いてBitmapを解くこともできる.ビットマップリソースをBitmapFactoryクラスdecodeStream(InputStreamis)を使用して復号し、ビットマップを取得します. BitmapFactoryクラスBitmap bmp=BitmapFactory.decodeResource(res,R.drawable.pic 180)を使用します.メソッドビットマップリソースを復号します.
 
Canvasクラスを使用したビットマップの表示 
public class Main extends Activity {   
     
    @Override  
    public void onCreate(Bundle savedInstanceState) {   
        super.onCreate(savedInstanceState);   
        setContentView(new Panel(this));   
    }   
       
    class Panel extends View{            
        public Panel(Context context) {     
            super(context);    
        }         
        public void onDraw(Canvas canvas){     
            Bitmap bmp = BitmapFactory.decodeResource(getResources(), R.drawable.pic180);     
            canvas.drawColor(Color.BLACK);     
            canvas.drawBitmap(bmp, 10, 10, null);     
        }     
    }    
}  

 
 
ビットマップをBitmapDrawableで表示
  //ビットマップの取得         Bitmap bmp=BitmapFactory.decodeResource(res, R.drawable.pic180);        //BitmapDrawableオブジェクトに変換         BitmapDrawable bmpDraw=new BitmapDrawable(bmp);        //ビットマップを表示         ImageView iv2 = (ImageView)findViewById(R.id.ImageView02);        iv2.setImageDrawable(bmpDraw); 
 
 BitMapクラス: public void recycle()——ビットマップが占有するメモリ空間を回収し、ビットマップをDeadと表記する public final boolean isRecycled()-ビットマップメモリが解放されたかどうかを判断 public final int getWidth()-ビットマップの幅を取得 public final int getHeight()-ビットマップの高さを取得 public final boolean isMutable()——画像が修正可能かどうか public int getScaledWidth(Canvas canvas):指定した密度変換後の画像の幅を取得する public int getScaledHeight(Canvas canvas):指定した密度変換後の画像の高さを取得する public boolean compress(CompressFormat,int quality,OutputStream stream)-指定したピクチャフォーマットおよび画質で、ピクチャを出力ストリームに変換します. format:Bitmap.CompressFormat.PNGまたはBitmap.CompressFormat.JPEG quality:画質、0-100.0は最低画質圧縮、100は最高画質圧縮を表します.PNGなどの非破壊フォーマットの画像では、この設定は無視されます. 一般的な静的メソッド: public static Bitmap createBitmap(Bitmap src)--srcを原図として可変の新しい画像を生成する public static Bitmap createScaledBitmap(Bitmap src, int dstWidth,             int dstHeight,boolean filter)--srcを原図として、新しい画像を作成し、新しい画像のアスペクトと可変かどうかを指定します. public static Bitmap createBitmap(int width,int height,Config config)-指定したフォーマット、サイズのビットマップを作成します. public static Bitmap createBitmap(Bitmap source,int x,int y,int width,int height)sourceを原図として、新しいピクチャを作成し、開始座標と新しい画像の高さと幅を指定します. public static Bitmap createBitmap(Bitmap source, int x, int y, int width, int height,             Matrix m, boolean filter) BitmapFactoryファクトリクラス: Optionパラメータクラス: public boolean inJustDecodeBounds--trueに設定すると、ピクチャは取得されず、メモリは割り当てられませんが、ピクチャの高さ幅情報が返されます. public int inSampleSize--画像のスケールの倍数.4に設定すると、幅と高さがともに元の1/4となり、図は元の1/16となる. public int outWidth——画像の幅値を取得する public int outHeight——画像の高さ値を取得する —————————————————————————————— public int indensity-ビットマップ用画素圧縮比 public int inTargetDesity:ターゲットビットマップの画素圧縮比(生成するビットマップ) public boolean inScale--trueに設定すると、inDesityからinTargetDesityまで画像圧縮が行われます. ファイルパスを読み込んでビットマップを取得します.指定したファイルが空であるか、ファイルに復号できない場合はNULLを返します. public static Bitmap decodeFile(String pathName, Options opts) public static Bitmap decodeFile(String pathName) リソースファイルを読み込んでビットマップを取得します.ビットマップデータが復号できない場合、またはoptsパラメータがサイズ情報のみを要求する場合、NuLLを返す. (つまり、Options.inJustDecodeBounds=trueの場合、ピクチャのサイズ情報のみが要求される.) public static Bitmap decodeResource(Resources res, int id) public static Bitmap decodeResource(Resources res, int id, Options opts) 入力ストリームからビットマップを復号する public static Bitmap decodeStream(InputStream is) バイト配列から復号化して可変ビットマップを生成する public static Bitmap decodeByteArray(byte[] data, int offset, int length) BitmapDrawableクラス:Drawableに継承され、ファイルパス、入力ストリーム、XMLファイル、Bitmapから作成できます. 一般的なコンストラクション関数: Resources res=getResources();//リソースの取得 public BitmapDrawable(Resources res)-空のdrawableを作成します.public BitmapDrawable()メソッドの代わりに(Responseが初期のピクセル密度を指定するために使用する) public BitmapDrawable(Resources res, Bitmap bitmap)——Create drawable from a bitmap public BitmapDrawable(Resources res, String filepath)——Create a drawable by opening a given file path and decoding the bitmap. public BitmapDrawable(Resources res, java.io.InputStream is)——Create a drawable by decoding a bitmap from the given input stream.