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


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

    Java代码  
    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 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;
    }
    }

    Java代码  
    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;    
           }    

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

    Java代码  
    Drawable drawable = new FastBitmapDrawable(bitmap);

  • 相关阅读:
    Android Studio插件
    android漂亮的对话框项目sweet-alert-dialog
    Android中Context详解 ---- 你所不知道的Context
    Bundle对象的使用
    Android利用Http下载文件
    文件缓存(配合JSON数组)
    android studio sqlite操作代码片段
    Android中使用ListView实现分页刷新(线程休眠模拟)(滑动加载列表)
    Android Studio 配置使用百度api (附带简单样例)
    9套Android实战经典项目资料分享给大家
  • 原文地址:https://www.cnblogs.com/leehongee/p/3323883.html
Copyright © 2020-2023  润新知