Android 图片文件和Bitmap之间的转换

String filePath="c:/01.jpg";
Bitmap bitmap=BitmapFactory.decodeFile(filePath);

 

如果图片过大,可能导致Bitmap对象装不下图片
解决办法:

String filePath="c:/01.jpg";
Bitmap bitmap=BitmapFactory.decodeFile(filePath,getBitmapOption(2)); //将图片的长和宽缩小味原来的1/2

private Options getBitmapOption(int inSampleSize){
        System.gc();
        BitmapFactory.Options options = new BitmapFactory.Options();
        options.inPurgeable = true;
        options.inSampleSize = inSampleSize;
        return options;
}

Bitmap对象保存味图片文件

public void saveBitmapFile(Bitmap bitmap){
            File file=new File("/mnt/sdcard/pic/01.jpg");//将要保存图片的路径
            try {
                    BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(file));
                    bitmap.compress(Bitmap.CompressFormat.JPEG, 100, bos);
                    bos.flush();
                    bos.close();
            } catch (IOException e) {
                    e.printStackTrace();
            }
}

 

posted @ 2018-01-25 14:33  星辰之力  阅读(3230)  评论(0编辑  收藏  举报