android bitmap byte[] drawable互转

android在处理一写图片资源的时候,会进行一些类型的转换,现在有空整理一下:
1、Drawable → Bitmap
Java代码
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(00, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight());  
  12. drawable.draw(canvas);  
  13. return bitmap;  
  14. }  
  15. 2、从资源中获取Bitmap  
  16. Java代码  
  17.   
  18. Resources res=getResources();  
  19.   
  20. Bitmap bmp=BitmapFactory.decodeResource(res, R.drawable.pic);  
  21. 3、Bitmap → byte[]  
  22. Java代码  
  23.   
  24. private byte[] Bitmap2Bytes(Bitmap bm){  
  25. ByteArrayOutputStream baos = new ByteArrayOutputStream();  
  26. bm.compress(Bitmap.CompressFormat.PNG, 100, baos);  
  27. return baos.toByteArray();  
  28. }  
  29.   
  30. 4、 byte[] → Bitmap  
  31.   
  32. Java代码  
  33.   
  34. private Bitmap Bytes2Bimap(byte[] b){  
  35. if(b.length!=0){  
  36. return BitmapFactory.decodeByteArray(b, 0, b.length);  
  37. }  
  38. else {  
  39. return null;  
  40. }  
  41. }  


一些activity 样式:
•android:theme="@android:style/Theme.Dialog"   将一个Activity显示为对话框模式
•android:theme="@android:style/Theme.NoTitleBar"  不显示应用程序标题栏
•android:theme="@android:style/Theme.NoTitleBar.Fullscreen"  不显示应用程序标题栏,并全屏
•android:theme="@android:style/Theme.Light"  背景为白色
•android:theme="@android:style/Theme.Light.NoTitleBar"  白色背景并无标题栏
•android:theme="@android:style/Theme.Light.NoTitleBar.Fullscreen"  白色背景,无标题栏,全屏
•android:theme="@android:style/Theme.Black"  背景黑色
•android:theme="@android:style/Theme.Black.NoTitleBar"  黑色背景并无标题栏
•android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen"    黑色背景,无标题栏,全屏
•android:theme="@android:style/Theme.Wallpaper"  用系统桌面为应用程序背景
•android:theme="@android:style/Theme.Wallpaper.NoTitleBar"  用系统桌面为应用程序背景,且无标题栏
•android:theme="@android:style/Theme.Wallpaper.NoTitleBar.Fullscreen"  用系统桌面为应用程序背景,无标题栏,全屏
•android:theme="@android:style/Translucent" 半透明效果
•android:theme="@android:style/Theme.Translucent.NoTitleBar"  半透明并无标题栏
•android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen"  半透明效果,无标题栏,全屏
•android:theme="@android:style/Theme.Panel"

•android:theme="@android:style/Theme.Light.Panel"

转自:http://makeyouown.iteye.com/blog/1273319


你可能感兴趣的:(android bitmap byte[] drawable互转)