Android中Bitmap对象的建立(持续)

最近的程序实现中,遇到一个需求,从流中得到数据,并生成Bitmap 对象. 现研究Bitmap生成如下:


Android SDK中对此类需求正有准备:

android.graphics.BitmapFactory

从它的名字来看:BitmapFactory。 Bitmap的工厂,很明显,就是一个如何创建Bitmap对象的工具。可以从不同的资源(文件,流,资源文件,字节数组)得到数据,创建一个Bitmap对象。



用法一:从流得到数据,创建一个Bitmap对象:

public static Bitmap decodeStream (InputStream is)
把Stream的数据解码到Bitmap对象中,如果Input Stream是空的,又或者数据不能解码到Bitmap。则返回null. 否则返回Bitmap对象。

Sam此处是使用 onActivityResult(int requestCode, int resultCode, Intent data)中data所带数据作为输入源。

Uri uir = data.getData();

Bitmap bmp = BitmapFactory.decodeStream(getContentResolver().openInputStream(uri));




public static Bitmap decodeStream (InputStream is, Rect outPadding, BitmapFactory.Options opts)
其它与上一个方法一致,只是参数三:BitmapFactory.Options这个匿名内部类需要关注。利用它,可以设置得到的Bitmap的压缩比例( inSampleSize ), 是否仅仅得到Bitmap长宽数据,而不真正给Bitmap分配空间( inJustDecodeBounds )等。 同时,它还可以得到Bitmap的长宽:( outHeight, outWidth )







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值