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; 

             

        }

posted @ 2011-05-10 10:13  ctou45  阅读(352)  评论(0编辑  收藏  举报