• 读取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,所以可以灵活的转换
  • 相关阅读:
    Jmeter应用大全
    js防止backspace回退到上一界面(兼容各种浏览器)
    easyui部分组件获得焦点
    防止用户直接在地址栏输入URL浏览文件
    Oracle入门基础(六)一一子查询
    Oracle入门基础(五)一一多表查询
    Oracle入门基础(四)一一多行函数
    Oracle入门基础(三)一一单行函数
    Oracle入门基础(一)一一基本查询
    测试用例的设计思路
  • 原文地址:https://www.cnblogs.com/yaya-Android/p/4515131.html
Copyright © 2020-2023  润新知