首页 > 代码库 > Android将图像转换成流存储与将流转换成图像

Android将图像转换成流存储与将流转换成图像

1、将图片转换成二进制流

public byte[] getBitmapByte(Bitmap bitmap){      ByteArrayOutputStream out = new ByteArrayOutputStream();      //参数1转换类型,参数2压缩质量,参数3字节流资源    bitmap.compress(Bitmap.CompressFormat.JPEG, 100, out);      try {          out.flush();          out.close();      } catch (IOException e) {          e.printStackTrace();      }      return out.toByteArray();  }  

2、将二进制流转换成图片(Bitmap)

public Bitmap getBitmapFromByte(byte[] temp){      if(temp != null){          Bitmap bitmap = BitmapFactory.decodeByteArray(temp, 0, temp.length);          return bitmap;      }else{          return null;      }  }  

将二进制流转换成图片(Drawable)

public Drawable getBitmapFromByte(byte[] temp){      if(temp != null){          Drawable drawable = Drawable.createFromStream(bais, "image");        return drawable ;      }else{          return null;      }  }  

3、将Bitmap转换成Drawable

public static Bitmap drawableToBitmap(Drawable drawable){                  int width = drawable.getIntrinsicWidth();                  int height = drawable.getIntrinsicHeight();                  Bitmap bitmap = Bitmap.createBitmap(width, height,                          drawable.getOpacity() != PixelFormat.OPAQUE ? Bitmap.Config.ARGB_8888                                  : Bitmap.Config.RGB_565);                  Canvas canvas = new Canvas(bitmap);                  drawable.setBounds(0,0,width,height);                  drawable.draw(canvas);                  return bitmap;                                }    

Drawable drawable = new FastBitmapDrawable(bitmap);  


BitmapDrawable tempDrawable = (BitmapDrawable) drawable;tempDrawable.getBitmap();

 

Android将图像转换成流存储与将流转换成图像