• 读取sd卡下图片,由图片路径转换为bitmap


    public Bitmap convertToBitmap(String path, int w, int h) {
                BitmapFactory.Options opts = new BitmapFactory.Options();
                // 设置为ture只获取图片大小
                opts.inJustDecodeBounds = true;
                opts.inPreferredConfig = Bitmap.Config.ARGB_8888;
                // 返回为空
                BitmapFactory.decodeFile(path, opts);
                int width = opts.outWidth;
                int height = opts.outHeight;
                float scaleWidth = 0.f, scaleHeight = 0.f;
                if (width > w || height > h) {
                    // 缩放
                    scaleWidth = ((float) width) / w;
                    scaleHeight = ((float) height) / h;
                }
                opts.inJustDecodeBounds = false;
                float scale = Math.max(scaleWidth, scaleHeight);
                opts.inSampleSize = (int)scale;
                WeakReference<Bitmap> weak = new WeakReference<Bitmap>(BitmapFactory.decodeFile(path, opts));
                return Bitmap.createScaledBitmap(weak.get(), w, h, true);
            }
     
    其中w和h你需要转换的大小
     
    path转换为bitmap:上面方法即可;
    imageview获取drawable并转换为 bitmap :Bitmap bt= ((BitmapDrawable) mImageview.getDrawable()).getBitmap();
    resourceid转换为bitmap:Bitmap bt = BitmapFactory.decodeResource(getResources(), R.drawable.resourceid);
    Drawable转换为bitmap:Bitmap bt= ((BitmapDrawable) Drawable).getBitmap();
    因为BitmapDrawable是继承Drawable,所以可以灵活的转换
  • 相关阅读:
    codeforces 1060 B
    codeforces 1060 A
    牛客 国庆七天乐 day1 L
    BZOJ 1087: [SCOI2005]互不侵犯King
    codeforces 792CDivide by Three(两种方法:模拟、动态规划
    codeforces 797C Minimal string
    codeforces 110E Lucky Tree
    codeforces 798D
    2017福建省赛 FZU2272~2283
    Android -- Looper、Handler、MessageQueue等类之间关系的序列图
  • 原文地址:https://www.cnblogs.com/yaya-Android/p/4515131.html
Copyright © 2020-2023  润新知