Drawable –> Bitmap

Bitmap drawable2Bitmap(Drawable drawable) {          if (drawable instanceof BitmapDrawable) {              return ((BitmapDrawable) drawable).getBitmap();          } else if (drawable instanceof NinePatchDrawable) {              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);              drawable.setBounds(0, 0, drawable.getIntrinsicWidth(),                      drawable.getIntrinsicHeight());              drawable.draw(canvas);              return bitmap;          } else {              return null;          }      }      Bitmap drawable2Bitmap(Drawable drawable) {        if (drawable instanceof BitmapDrawable) {            return ((BitmapDrawable) drawable).getBitmap();        } else if (drawable instanceof NinePatchDrawable) {            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);            drawable.setBounds(0, 0, drawable.getIntrinsicWidth(),                    drawable.getIntrinsicHeight());            drawable.draw(canvas);            return bitmap;        } else {            return null;        }    }

从资源中获取的Drawable –> Bitmap

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

Bitmap –> Drawable

Drawable bitmap2Drawable(Bitmap bitmap) {          return new BitmapDrawable(bitmap);      }      Drawable bitmap2Drawable(Bitmap bitmap) {        return new BitmapDrawable(bitmap);    }

Bitmap –> byte[]

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

byte[] –> Bitmap

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

更多相关文章

  1. Android获取statusBar和navigationBar高度
  2. Android(安卓)代码片段---从相册或相机获取图片保存并处理
  3. android获取系统铃声并播放
  4. Android中如何获取应用版本号
  5. android 获取图片绝对地址
  6. Android(安卓)之 Dialog复选框获取值 .
  7. Android获取开机启动程序列表
  8. Android(安卓)之 将RAW资源文件写入SD卡工具类
  9. android 如何获取当前运行的activity

随机推荐

  1. 2016年Windows Phone将超越iPhone
  2. 利用BeautifulSoup的find_all()函数查找
  3. StevGuo系列文章翻译之没有USB驱动的情况
  4. 轻量级Android6.0动态权限解决方案
  5. Kindle File占美国Android平板出货量54.4
  6. Android查缺补漏之Toolbar
  7. 下载Eclipse想做Android项目配置ADT后关
  8. Android sdk自带的9patch工具(9妹)
  9. Android4.1 无预览拍照
  10. android如何制作出一个简单的聊天app