Android图片格式转换

来源:互联网 发布:windows mobile刷安卓 编辑:程序博客网 时间:2024/06/18 09:21

文章转载自:http://my.oschina.net/547217475/blog/93485

// 将byte[]转换成InputStream public InputStream Byte2InputStream(byte[] b) {  ByteArrayInputStream bais = new ByteArrayInputStream(b);  return bais; }  // 将InputStream转换成byte[] public byte[] InputStream2Bytes(InputStream is) {  String str = "";  byte []readByte = new byte[1024];  int readCount = -1;  try {   while ((readCount = is.read(readByte,0,1024)) != -1) {    str += new String(readByte).trim();   }   return str.getBytes();  } catch (Exception e) {   e.printStackTrace();  }  return null; }  // 将Bitmap转换成InputStream public InputStream Bitmap2InputStream(Bitmap bm) {  ByteArrayOutputStream baos = new ByteArrayOutputStream();  bm.compress(Bitmap.CompressFormat.JPEG, 100, baos);  InputStream is = new ByteArrayInputStream(baos.toByteArray());  return is; }  // 将Bitmap转换成InputStream public InputStream Bitmap2InputStream(Bitmap bm, int quality) {  ByteArrayOutputStream baos = new ByteArrayOutputStream();  bm.compress(Bitmap.CompressFormat.PNG, quality, baos);  InputStream is = new ByteArrayInputStream(baos.toByteArray());  return is; } // 将InputStream转换成Bitmap public Bitmap InputStream2Bitmap(InputStream is) {  return BitmapFactory.decodeStream(is); }  // Drawable转换成InputStream public InputStream Drawable2InputStream(Drawable d) {  Bitmap bitmap = this.drawable2Bitmap(d);  return this.Bitmap2InputStream(bitmap); }  // InputStream转换成Drawable public Drawable InputStream2Drawable(InputStream is) {  Bitmap bitmap = this.InputStream2Bitmap(is);  return this.bitmap2Drawable(bitmap); }  // Drawable转换成byte[] public byte[] Drawable2Bytes(Drawable d) {  Bitmap bitmap = this.drawable2Bitmap(d);  return this.Bitmap2Bytes(bitmap); }  // byte[]转换成Drawable public Drawable Bytes2Drawable(byte[] b) {  Bitmap bitmap = this.Bytes2Bitmap(b);  return this.bitmap2Drawable(bitmap); }  // Bitmap转换成byte[] public byte[] Bitmap2Bytes(Bitmap bm) {  ByteArrayOutputStream baos = new ByteArrayOutputStream();  bm.compress(Bitmap.CompressFormat.PNG, 100, baos);  return baos.toByteArray(); }  // byte[]转换成Bitmap public Bitmap Bytes2Bitmap(byte[] b) {  if (b.length != 0) {   return BitmapFactory.decodeByteArray(b, 0, b.length);  }  return null; }  // Drawable转换成Bitmap public Bitmap drawable2Bitmap(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);  drawable.setBounds(0, 0, drawable.getIntrinsicWidth(),    drawable.getIntrinsicHeight());  drawable.draw(canvas);  return bitmap; }  // Bitmap转换成Drawable public Drawable bitmap2Drawable(Bitmap bitmap) {  BitmapDrawable bd = new BitmapDrawable(bitmap);  Drawable d = (Drawable) bd;  return d; }


 

0 0
原创粉丝点击