zoukankan      html  css  js  c++  java
  • 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);

  • 相关阅读:
    mac重启nginx时报nginx.pid不存在的解决办法
    js 正则表达式
    js 闭包
    js yarn
    js npm
    vue3 vite
    node 错误处理
    node fs
    linux包管理工具使用和区别(转)
    MySQL数据库学习----理论基础
  • 原文地址:https://www.cnblogs.com/leehongee/p/3323883.html
Copyright © 2011-2022 走看看