Android -- Drawable && Bitmap_移动开发_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > 移动开发 > Android -- Drawable && Bitmap

Android -- Drawable && Bitmap

 2014/11/7 3:13:31  我爱物联网  程序员俱乐部  我要评论(0)
  • 摘要:Bitmap转DrawableBitmapbm=xxx;BitmapDrawablebd=newBitmapDrawable(bm);因为BtimapDrawable是Drawable的子类,最终直接使用bd对象即可。Drawable转BitmapDrawabled=xxx;BitmapDrawablebd=(BitmapDrawable)d;Bitmapbm=bd.getBitmap();最终bm就是我们需要的Bitmap对象了
  • 标签:android Map

Bitmap转Drawable                                                                    

Bitmap bm=xxx; 
BitmapDrawable bd=new BitmapDrawable(bm);

因为BtimapDrawable是Drawable的子类,最终直接使用bd对象即可。

Drawable转Bitmap                                                                    

Drawable d=xxx; 
BitmapDrawable bd = (BitmapDrawable) d;
Bitmap bm = bd.getBitmap();

最终bm就是我们需要的Bitmap对象了。

从资源中获取Bitmap                                                                  

public static Bitmap getBitmapFromResources(Activity act, int resId) {
    Resources res = act.getResources();
    return BitmapFactory.decodeResource(res, resId);
}

byte[] → Bitmap                                                                     

public static Bitmap convertBytes2Bimap(byte[] b) {
    if (b.length == 0) {
        return null;
    }
    return BitmapFactory.decodeByteArray(b, 0, b.length);
}

Bitmap → byte[]                                                                     

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

Drawable → Bitmap                                                                  

public static Bitmap convertDrawable2BitmapByCanvas(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;
}

我是天王盖地虎的分割线                                                             

上一篇: 自动补齐字符串的长度 下一篇: 没有下一篇了!
发表评论
用户名: 匿名