zoukankan      html  css  js  c++  java
  • Android -- Drawable && Bitmap

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

    我是天王盖地虎的分割线                                                             

  • 相关阅读:
    字体向上滚动
    地图改变图层
    移动地图
    [转] nodejs安装不了和npm安装失败的解决方法
    git回滚merge
    处理网站缓存问题
    webpack初学笔记 之 小案例篇demo1
    正则表达式整理
    关于返回值为图片 音频 视频的处理
    jquery ui datepicker 插件如何设置只能选择日期 禁止输入日期
  • 原文地址:https://www.cnblogs.com/yydcdut/p/4080147.html
Copyright © 2011-2022 走看看