Drable 与 Bitmap的常用的转换总结(转)

来源:互联网 发布:端口多路复用原理 编辑:程序博客网 时间:2024/06/05 06:25

1.((BitmapDrawable)res.getDrawable(R.drawable.youricon)).getBitmap();
2.Bitmap drawableToBitmap(Drawable drawable) {
               
                Bitmap bitmap = Bitmap
                                .createBitmap(
                                                drawable.getIntrinsicWidth(),
                                                drawable.getIntrinsicHeight(),
                                                drawable.getOpacity() != PixelFormat.OPAQUE ? Bitmap.Config.ARGB_8888
                                                                : Bitmap.Config.RGB_565);
                Canvas canvas = new Canvas(bitmap);
                //canvas.setBitmap(bitmap);
                drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight());
                drawable.draw(canvas);
                return bitmap;
        }

 

2、从资源中获取Bitmap

Resources res=getResources();

Bitmap bmp=BitmapFactory.decodeResource(res, R.drawable.pic);

 

3、Bitmap → byte[]

private byte[] Bitmap2Bytes(Bitmap bm){
    ByteArrayOutputStream baos = new ByteArrayOutputStream(); 
    bm.compress(Bitmap.CompressFormat.PNG, 100, baos); 
    return baos.toByteArray();
   }

4、 byte[] → Bitmap

private Bitmap Bytes2Bimap(byte[] b){
      if(b.length!=0){
       return BitmapFactory.decodeByteArray(b, 0, b.length);
      }
      else {
       return null;
      }
   }

原创粉丝点击