• 缩放图片


    //使用Bitmap加Matrix来缩放
    public static Drawable resizeImage(Bitmap bitmap, int w, int h)
    {
    Bitmap BitmapOrg = bitmap;
    int width = BitmapOrg.getWidth();
    int height = BitmapOrg.getHeight();
    int newWidth = w;
    int newHeight = h;

    float scaleWidth = ((float) newWidth) / width;
    float scaleHeight = ((float) newHeight) / height;

    Matrix matrix = new Matrix();
    matrix.postScale(scaleWidth, scaleHeight);
    // if you want to rotate the Bitmap
    // matrix.postRotate(45);
    Bitmap resizedBitmap = Bitmap.createBitmap(BitmapOrg, 0, 0, width,
    height, matrix, true);
    return new BitmapDrawable(resizedBitmap);
    }

    //使用BitmapFactory.Options的inSampleSize参数来缩放
    public static Drawable resizeImage2(String path,
    int width,int height)
    {
    BitmapFactory.Options options = new BitmapFactory.Options();
    options.inJustDecodeBounds = true;//不加载bitmap到内存中
    BitmapFactory.decodeFile(path,options);
    int outWidth = options.outWidth;
    int outHeight = options.outHeight;
    options.inDither = false;
    options.inPreferredConfig = Bitmap.Config.ARGB_8888;
    options.inSampleSize = 1;

    if (outWidth != 0 && outHeight != 0 && width != 0 && height != 0)
    {
    int sampleSize=(outWidth/width+outHeight/height)/2;
    Log.d(tag, "sampleSize = " + sampleSize);
    options.inSampleSize = sampleSize;
    }

    options.inJustDecodeBounds = false;
    return new BitmapDrawable(BitmapFactory.decodeFile(path, options));
    }

  • 相关阅读:
    C语言面试题——寻找错误
    C语言的声明解释的在线工具——cdecl
    C语言面试题——指针运算
    const 指针与指向const的指针
    C语言复杂声明解释
    poj1248
    poj1750
    poj1484
    poj1853
    poj1575
  • 原文地址:https://www.cnblogs.com/bimingcong/p/4862408.html
Copyright © 2020-2023  润新知