当前位置: 代码迷 >> Android >> android Drawable Bit地图
  详细解决方案

android Drawable Bit地图

热度:154   发布时间:2016-04-28 06:57:13.0
android Drawable Bitmap
1.Drawable—>Bitmap

Resources res=getResources();Bitmap bmp=BitmapFactory.decodeResource(res, R.drawable.sample_0);



2.Bitmap---->Drawable

Drawable drawable =new BitmapDrawable(bmp);



另外在网上搜了些,也不知到底谁是原创的

1、Drawable → Bitmap

public static 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;                    }          }
  相关解决方案