Android Bitmap工具方法;

//BitmapFactory工具方法:

BitmapFactory.decodeFile(f.getAbsolutePath(), op);
    FileInputStream in = new FileInputStream(f);
    Bitmap bm = BitmapFactory.decodeStream(in, null, op);

    BitmapFactory.decodeResource(context.getResources(), id,op);
    return BitmapFactory.decodeResource(context.getResources(), id,op);

    InputStream in=context.getResources().openRawResource(id);
    Bitmap bm=BitmapFactory.decodeStream(in);


    //获得指定路径图片
    public class BitmapUtils {
    public static Bitmap getBitmap(String path) {
        return BitmapFactory.decodeFile(path);
    }
    //获取缩放倍数之后的图片
    public static Bitmap getBitmap(byte[] data, int scale) {
        Options opts = new Options();
        opts.inSampleSize = scale;
        return BitmapFactory.decodeByteArray(data, 0, data.length, opts);
    }
    //获取指定大小尺寸且不加载像素的图片
    public static Bitmap getBitmap(byte[] data, int width, int height) {
        Options opts = new Options();
        opts.inJustDecodeBounds = true;
        BitmapFactory.decodeByteArray(data, 0, data.length, opts);
        int xScale = opts.outWidth / width;
        int yScale = opts.outHeight / height;
        return getBitmap(data, xScale > yScale ? xScale : yScale);
    }
    //将图片压缩保存到本地
    public static void save(Bitmap bm, File savePath) throws IOException {
        if (bm != null && savePath != null) {
            if (!savePath.getParentFile().exists()) {
                savePath.getParentFile().mkdirs();
            }
            if (!savePath.exists()) {
                //创建新目录
                savePath.createNewFile();
            }
            bm.compress(CompressFormat.JPEG, 100,new FileOutputStream(savePath));
        }
    }
}

猜你喜欢

转载自blog.csdn.net/ware00/article/details/70300542