android-关于处理Bitmap

1:根据图片在本地上的绝对路径获取图片并转换成Bitmap:

private Bitmap getDiskBitmap(String pathString)  
{  
    Bitmap bitmap = null;  
    try  
    {  
        File file = new File(pathString);  
        if(file.exists())  
        {  
            bitmap = BitmapFactory.decodeFile(pathString);  
        }  
    } catch (Exception e)  
    {  
        // TODO: handle exception  
    }  
      
      
    return bitmap;  
}  

2:通过Intent在Activity之间传递Bitmap:

之前想通过一个自定义类实现Serializable接口来直接实现intent传递自定义对象,结果项目报错,查看了原因才知道我的自定义类中含有bitmap变量,而Bitmap变量是不能被序列化的,所以无法通过intent来直接传递整个对象,所以我采取了分开传值:

传送方:
intent.putExtra("image", bmp);
接受方:
Bitmap bmp = getIntent().getParcelableExtra("image")
3:将bitmap以数种格式保存在本地:

private void savePreviewBitmap(File file,Bitmap photoBm,String fileName){
		createFile();
		file = new File(Environment.getExternalStorageDirectory().getPath() + "/cardBook/" + fileName + ".jpg");
		if(file.exists()){
			file.delete();
		}
		
		try{
			file.createNewFile();
		}catch(Exception e){
			e.printStackTrace();
		}
		FileOutputStream fOut = null;
		try{
			fOut = new FileOutputStream(file);
		}catch(FileNotFoundException e){
			e.printStackTrace();
		}
		photoBm.compress(Bitmap.CompressFormat.JPEG, 100, fOut);
		try{
			fOut.flush();
			fOut.close();
		}catch(IOException e){
			e.printStackTrace();
		}
	}

在CompressFormat.XXX中自己选择格式



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值