Android图片二进制与Bitmap、Drawable之间的转换

 

	public byte[] getBitmapByte(Bitmap bitmap){
		ByteArrayOutputStream out = new ByteArrayOutputStream();
		bitmap.compress(Bitmap.CompressFormat.JPEG, 100, out);
		try {
			out.flush();
			out.close();
		} catch (IOException e) {
			e.printStackTrace();
		}
		return out.toByteArray();
	}
	
	
	public Bitmap getBitmapFromByte(byte[] temp){
		if(temp != null){
			Bitmap bitmap = BitmapFactory.decodeByteArray(temp, 0, temp.length);
			return bitmap;
		}else{
			return null;
		}
	}

 

 

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

 

你可能感兴趣的:(android)