1、Drawable → Bitmap

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 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

?
1 2 3 Resources res=getResources();   Bitmap bmp=BitmapFactory.decodeResource(res, R.drawable.pic);
3、Bitmap → byte[]
?
1 2 3 4 5 6 7 8 9 private byte [] Bitmap2Bytes(Bitmap bm){   ByteArrayOutputStream baos = new ByteArrayOutputStream();   bm.compress(Bitmap.CompressFormat.PNG, 100 , baos);   return baos.toByteArray();   }

4、byte[] → Bitmap

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 private Bitmap Bytes2Bimap( byte [] b){   if (b.length!= 0 ){   return BitmapFactory.decodeByteArray(b, 0 , b.length);   }   else {   return null ;   }   }
5、保存bitmap

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 static boolean saveBitmap2file(Bitmap bmp,String filename){   CompressFormat format= Bitmap.CompressFormat.JPEG;   int quality = 100 ;   OutputStream stream = null ;   try {   stream = new FileOutputStream( "/sdcard/" + filename);   } catch (FileNotFoundException e) {   // TODO Auto-generated catch block   Generated by Foxit PDF Creator © Foxit Software   http: //www.foxitsoftware.com For evaluation only.   e.printStackTrace();   }   return bmp.compress(format, quality, stream);   }

6、将图片按自己的要求缩放

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 // 图片源   Bitmap bm = BitmapFactory.decodeStream(getResources()   .openRawResource(R.drawable.dog));   // 获得图片的宽高   int width = bm.getWidth();   int height = bm.getHeight();   // 设置想要的大小   int newWidth = 320 ;   int newHeight = 480 ;   // 计算缩放比例   float scaleWidth = (( float ) newWidth) / width;   float scaleHeight = (( float ) newHeight) / height;   // 取得想要缩放的matrix参数   Matrix matrix = new Matrix();   matrix.postScale(scaleWidth, scaleHeight);   // 得到新的图片   Bitmap newbm = Bitmap.createBitmap(bm, 0 , 0 , width, height, matrix,   true );   // 放在画布上   canvas.drawBitmap(newbm, 0 , 0 , paint);

7:File图片转Bitmap

?
1 Bitmap bt = BitmapFactory.decodeFile( "/sdcard/myImage/" + "head.jpg" ); //图片地址

8://图片转Bitmap

?
1 2 3 4 5 6 7 8 9 public Bitmap drawableToBitamp( int drawableResource) { "white-space:pre" >    //可以取raw里面的资源          BitmapFactory.Options opt = new BitmapFactory.Options();          opt.inPreferredConfig = Bitmap.Config.RGB_565;          opt.inPurgeable = true ;          opt.inInputShareable = true ;          InputStream is = this .getResources().openRawResource(drawableResource);          BitmapFactory.decodeStream(is, null , opt);          return BitmapFactory.decodeStream(is, null , opt);      }

更多相关文章

  1. android 拖拽图片&拖动浮动按钮到处跑
  2. android显示gif图片
  3. android 拖拽图片&拖动浮动按钮到处跑
  4. Android实现图片缩放示例
  5. android 获取网络上服务器图片
  6. 参考注释郭霖老师的Android相机程序
  7. Android图片裁剪Demo
  8. android URL获取图片显示到ImageView 控件上
  9. android canmera相机

随机推荐

  1. android页面间传递对象
  2. Android(安卓)首页双击返回桌面
  3. Android动画效果学习
  4. Android(安卓)之 Gallery画廊用法
  5. android:开源AsyncHttpClient
  6. Android的简单组件总结
  7. Android(安卓)dumpsys cpuinfo 信息解读
  8. android 用代码设置margin属性,textView加
  9. Android软键盘之代码改变软键盘状态
  10. 【Android】【基础】获取屏幕宽高