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

android drawable bit地图

热度:221   发布时间:2016-05-01 13:52:03.0
android drawable bitmap

android在处理一写图片资源的时候,会进行一些类型的转换,现在有空整理一下:

?

1、Drawable → Bitmap

Java代码??收藏代码
  1. public?static?Bitmap?drawableToBitmap(Drawable?drawable)?{??
  2. ??????????
  3. ????????Bitmap?bitmap?=?Bitmap??
  4. ????????????????????????.createBitmap(??
  5. ????????????????????????????????????????drawable.getIntrinsicWidth(),??
  6. ????????????????????????????????????????drawable.getIntrinsicHeight(),??
  7. ????????????????????????????????????????drawable.getOpacity()?!=?PixelFormat.OPAQUE???Bitmap.Config.ARGB_8888??
  8. ????????????????????????????????????????????????????????:?Bitmap.Config.RGB_565);??
  9. ????????Canvas?canvas?=?new?Canvas(bitmap);??
  10. ????????//canvas.setBitmap(bitmap);??
  11. ????????drawable.setBounds(0,?0,?drawable.getIntrinsicWidth(),?drawable.getIntrinsicHeight());??
  12. ????????drawable.draw(canvas);??
  13. ????????return?bitmap;??
  14. }??

?

2、从资源中获取Bitmap

?

Java代码??收藏代码
  1. Resources?res=getResources();??
  2. ??
  3. Bitmap?bmp=BitmapFactory.decodeResource(res,?R.drawable.pic);??

?

3、Bitmap → byte[]

?

Java代码??收藏代码
  1. private?byte[]?Bitmap2Bytes(Bitmap?bm){??
  2. ????ByteArrayOutputStream?baos?=?new?ByteArrayOutputStream();????
  3. ????bm.compress(Bitmap.CompressFormat.PNG,?100,?baos);????
  4. ????return?baos.toByteArray();??
  5. ???}??

?
4、 byte[] → Bitmap

Java代码??收藏代码
  1. private?Bitmap?Bytes2Bimap(byte[]?b){??
  2. ????????????if(b.length!=0){??
  3. ????????????????return?BitmapFactory.decodeByteArray(b,?0,?b.length);??
  4. ????????????}??
  5. ????????????else?{??
  6. ????????????????return?null;??
  7. ????????????}??
  8. ??????}??

?

?

?

以上是我在实践中遇到的一些转换,以后遇到类似的就不用到处找了,希望对大家也有一点用处!

  相关解决方案