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

    我是天王盖地虎的分割线                                                             

  • 相关阅读:
    BZOJ3282 Tree
    [NOI2004] 郁闷的出纳员
    [HNOI2004]宠物收养所
    [HNOI2002] 营业额统计
    图论 简单学习笔记
    POJ3321 Apple tree
    [国家集训队] 聪聪可可
    POJ2976 Dropping tests
    SCOI2005 最大子矩阵
    codeforces|CF13C Sequence
  • 原文地址:https://www.cnblogs.com/yydcdut/p/4080147.html
Copyright © 2011-2022 走看看