Bitmap的放大和缩小

来源:互联网 发布:中国古代妆容配方淘宝 编辑:程序博客网 时间:2024/05/22 12:12

Bitmap的放大和缩小

在做公司的项目的时候用到了下拉刷新的动画,但是UI切得图片比较小,在经过在网上查了很多的文章之后找到了两种方法来控制bitmap的图片的大小:

> 1.使用inJustDecodeBounds来对图片进行缩放

一般加载图片的时候可能会出现图片过大造成oom异常,这时候就需要使用inJustDecodeBounds来是图片成比例缩放了。

代码如下

BitmapFactory.Options opt = new BitmapFactory.Options();opt.inJustDecodeBounds = true;opt.inSampleSize = 2;//这里的值就是图片缩小的比例,指把原图的宽高都缩小为1/2opt.inJustDecodeBounds = false;Bitmap bitmapTemp = BitmapFactory.decodeResource(context.getResources(),R.mipmap.iv1,opt);//读取系统文件并将其转换为bitmap
> 2.使用Matrix来对图片进行放大

有的时候UI给的图片不一定符合你的需要,这个时候需要把图片放大时候的操作:

代码如下

BitmapFactory.Options opt = new BitmapFactory.Options();Matrix matrix = new Matrix();matrix.postScale(1.0f,2.0f);//第一个参数是x方向缩放比例,第二个参数是Y方向的缩放比例Bitmap bitmapTemp = BitmapFactory.decodeResource(context.getResources(),R.mipmap.iv1,opt);Bitmap bitmap = Bitmap.createBitmap(bitmapTemp, 0, 0, bitmapTemp.getWidth(), bitmapTemp.getHeight(), matrix, true);//得到最终的bitmap结果

结束

0 0