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




     

  • 相关阅读:
    一款jquery写出来的tab切换
    mouseenter 事件,固定右侧客服特效
    一款兼容pc 移动端的tab切换
    EhCache缓存
    HTML5中与页面显示相关的API
    JAVA获取客户端IP地址
    Oracle11g导出空表
    css兼容问题集合
    使用Java修改Windows注册表
    常用的SQL分页
  • 原文地址:https://www.cnblogs.com/loonggg/p/4981868.html
Copyright © 2011-2022 走看看