Android中本地图片和bitmap的相互转化

将Bitmap转换为图片

/**
 * 将Bitmap转成本地图片
 * @param path 保存为本地图片的地址
 * @param bitmap 要转化的Bitmap
 */
public static void saveImage(String path, Bitmap bitmap){
    try {
        BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(path));
        bitmap.compress(Bitmap.CompressFormat.JPEG,100,bos);
        bos.flush();
        bos.close();
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }
}

将本地图片转为bitmap

通过流的方式

/**
 * 将本地图片转成Bitmap
 * @param path 已有图片的路径
 * @return
 */
public static Bitmap openImage(String path){
    Bitmap bitmap = null;
    try {
        BufferedInputStream bis = new BufferedInputStream(new FileInputStream(path));
        bitmap = BitmapFactory.decodeStream(bis);
        bis.close();
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }
    return bitmap;
}

通过图片路径的方式

/**
 * 将本地图片转成Bitmap
 * @param path 已有图片的路径
 * @return
 */
public static Bitmap openImage(String path){
    Bitmap bitmap = BitmapFactory.decodeFile(perFilePath);
    return bitmap;
}

该方法直接传文件路径的字符串,即可将指定路径的图片读取到Bitmap对象。

如果是资源文件的话

//该方法可从资源文件中读取图片信息。第一个参数一般传getResources(),第二个参数传drawable图片的资源id,如下
    Bitmap bitmap1 = BitmapFactory.decodeResource(getResources(),R.mipmap.aaa);

猜你喜欢

转载自blog.csdn.net/fromVillageCoolBoy/article/details/131182150