Android中Bitmap、Drawable、byte[]转换

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

 

posted on 2013-09-08 16:11  大米稀饭  阅读(1023)  评论(0编辑  收藏  举报