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

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。