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

原文链接: http://www.cnblogs.com/butterfly-clover/p/3981884.html

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();

转载于:https://www.cnblogs.com/butterfly-clover/p/3981884.html

猜你喜欢

转载自blog.csdn.net/weixin_30410999/article/details/94861274