BitMap、Drawable、InputStream、Byte[]互換

該方法主要是Bitmap、Drawable、InputStream、Byte[]之間的互相轉(zhuǎn)換.

/**
     * Bitmap 轉(zhuǎn)換為 InputStream
     * @param bitmap
     * @return
     */
    public InputStream bitmapToInputStream(Bitmap bitmap){
        InputStream is;
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        bitmap.compress(Bitmap.CompressFormat.PNG, 100, baos);
        is = new ByteArrayInputStream(baos .toByteArray());
        return is;
    }
    
    
    /**
     * Bitmap 轉(zhuǎn)換為 byte[]
     * @param is
     * @return
     */
    public byte[] bitmapToByteArray(InputStream is){
        byte[] data;
        Bitmap defaultIcon = BitmapFactory.decodeStream(is);
          ByteArrayOutputStream stream = new ByteArrayOutputStream();
          defaultIcon.compress(Bitmap.CompressFormat.JPEG, 100, stream);
          data = stream.toByteArray();
          return data;
    }
    
    /**
     * Drawable 轉(zhuǎn)換為 byte[]
     * @param defaultIcon
     * @return
     */
    public byte[] drawableToByteArray(Bitmap defaultIcon){
          byte[] data;
          Drawable d = null; // the drawable (Captain Obvious, to the rescue!!!)
          Bitmap bitmap = ((BitmapDrawable)d).getBitmap();
          ByteArrayOutputStream stream = new ByteArrayOutputStream();
          defaultIcon.compress(Bitmap.CompressFormat.JPEG, 100, stream);
          data = stream.toByteArray();
          return data;
    }  
    
    /**
     * byte 轉(zhuǎn)換為 Bitmap
     * @param bitmapdata
     * @return
     */
    
    public Bitmap byteArrayToBitmap(byte[] bitmapdata){
        Bitmap bitmap =BitmapFactory.decodeByteArray(bitmapdata, 0,bitmapdata.length);
        return bitmap;
    }
    
    
    
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容