zoukankan      html  css  js  c++  java
  • Bitmap与Drawable,byte[]之间的转化

    android在处理一写图片资源的时候,会进行一些类型的转换,现在有空整理一下,以便于以后随时可用

    1、drawable---->bitmap

    public static Bitmap drawableToBitmap(Drawable drawable) {             
           Bitmap bitmap = Bitmap   
                           .createBitmap(   
                                          drawable.getIntrinsicWidth(),   
                                           drawable.getIntrinsicHeight(),   
                                          drawable.getOpacity() != PixelFormat.OPAQUE ? Bitmap.Config.ARGB_8888   
                                                          : Bitmap.Config.RGB_565);           Canvas canvas = new Canvas(bitmap);   
           //canvas.setBitmap(bitmap);   
           drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight());   
            drawable.draw(canvas);   
           return bitmap;   
    }  
    

    2、从资源中获取Bitmap:drawable---->bitmap

    Resources res=getResources();     
    Bitmap bmp=BitmapFactory.decodeResource(res, R.drawable.pic);  
    //或者这种方法也行,这两种方法都一样
    Bitmap bmp = ((BitmapDrawable)this.getResources.getDrawable(R.drawable.pic)).getBitmap();
    


    3、bitmap---->drawable

    /** 
        * Bitmap转化为drawable 
        * @param bitmap 
        * @return 
        */  
        public static Drawable bitmap2Drawable(Bitmap bitmap){  
            return new BitmapDrawable(bitmap) ;  
        }  
    


    4、bitmap---->byte[]

    private byte[] Bitmap2Bytes(Bitmap bm){   
        ByteArrayOutputStream baos = new ByteArrayOutputStream();     
        bm.compress(Bitmap.CompressFormat.PNG, 100, baos);     
        return baos.toByteArray();   
       }  
    

    5、byte[]---->bitmap

    private Bitmap Bytes2Bimap(byte[] b){   
                if(b.length!=0){   
                    return BitmapFactory.decodeByteArray(b, 0, b.length);   
                }   
                else {   
                    return null;   
                }   
         }  
    




     

  • 相关阅读:
    DRY原则和Shy原则
    GEO LBS服务
    Intellij IDEA转换类图、时序图
    使用HttpMessageConverter实现HTTP的序列化和反序列化
    通过@Valid注解对请求主体中的参数进行校验
    Java-Enumeration ( 枚举类)
    SPI的实现原理
    python批量获取gitlab里面所有项目的代码
    浙江省高等学校教师教育理论培训上机考试小程序设计架构
    springboot~使用freemaker模版进行部署
  • 原文地址:https://www.cnblogs.com/loonggg/p/4981868.html
Copyright © 2011-2022 走看看