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显示gif图片
  2. android 拖拽图片&拖动浮动按钮到处跑
  3. Android实现图片缩放示例
  4. android 获取网络上服务器图片
  5. Android图片裁剪Demo
  6. android URL获取图片显示到ImageView 控件上
  7. Android中GridView来显示图片
  8. Android手机拍照和手机相册选取图片的工具类ImageUtils

随机推荐

  1. Android干货·收集站
  2. Android ViewGroup中事件触发和传递机制
  3. Android成长史
  4. 在Android开发中怎样使用Application类
  5. Android截屏方法总结
  6. Android 一起来看看面试必问的消息机制
  7. Android避免context相关内存溢出
  8. 如何在自己的程序中添加appWidget(附简单
  9. Android Studio 4.0 新功能与优化
  10. Android原生(Native)C开发:编译选项小结