高效加载较大的 Bitmaps
来源:互联网 发布:淘宝客微信采集软件 编辑:程序博客网 时间:2024/04/30 10:25
欢迎大家访问我的博客http://blog.csdn.net/mikejaps,专注于android ios app 开发
今天学习bitmap的加载,下面是代码
</pre><pre class="java" name="code">BitmapFactory.Options options = new BitmapFactory.Options(); //拿到设置参数的optionsoptions.inJustDecodeBounds = true; //先设置inJustDecodeBuonds为true,此时不会返回bitmap对象,只会得到宽,高,outMimeTypeBitmapFactory.decodeResource(getResources(), R.id.myimage, options);int imageHeight = options.outHeight;int imageWidth = options.outWidth;String imageType = options.outMimeType;
//就算要压缩的比例
public static int calculateInSampleSize(BitmapFactory.Options options, int reqWidth, int reqHeight) { // Raw height and width of image final int height = options.outHeight; final int width = options.outWidth; int inSampleSize = 1; if (height > reqHeight || width > reqWidth) { if (width > height) { inSampleSize = Math.round((float)height / (float)reqHeight); } else { inSampleSize = Math.round((float)width / (float)reqWidth); } } return inSampleSize;}public static Bitmap decodeSampledBitmapFromResource(Resources res, int resId, int reqWidth, int reqHeight) { // First decode with inJustDecodeBounds=true to check dimensions final BitmapFactory.Options options = new BitmapFactory.Options(); options.inJustDecodeBounds = true; BitmapFactory.decodeResource(res, resId, options); // Calculate inSampleSize options.inSampleSize = calculateInSampleSize(options, reqWidth, reqHeight); // Decode bitmap with inSampleSize set options.inJustDecodeBounds = false; return BitmapFactory.decodeResource(res, resId, options);}
有个要注意的 地方: 图片经过处理后的实际大小与前面设定的大小有一点点差别,如设定的尺寸是100*100,但实际 得到的图片大小 可能为 103*103
0 0
- 高效加载较大的 Bitmaps
- Android进阶练习 - 高效显示Bitmap(高效加载较大的 Bitmaps)
- 高效使用Bitmaps(一) 大Bitmap的加载
- Loading Large Bitmaps Efficiently-高效的加载大位图
- 高效使用Bitmaps(一) 大Bitmap的加载
- 高效使用Bitmaps(一) 大Bitmap的加载
- Loading Large Bitmaps Efficiently 高效的加载大尺寸位图
- 高效使用Bitmaps(一) 大Bitmap的加载
- 高效使用Bitmaps(一) 大Bitmap的加载
- 高效使用Bitmaps(一) 大Bitmap的加载
- 高效使用Bitmaps(一) 大Bitmap的加载
- 高效加载Bitmap(Displaying Bitmaps Efficiently)
- Loading Large Bitmaps Efficiently 有效的处理较大的位图
- Android如何高效的加载图片(2)---在ui线程中处理Bitmaps
- Displaying Bitmaps Efficiently 高效的显示图片
- 高效使用Bitmaps, 神奇的Cache
- Loading Large Bitmaps Efficiently 高效地加载大位图
- Loading Large Bitmaps Efficiently(高效加载大尺寸位图)
- Android下编译wifidog
- 函数指针
- 排列组合。。。
- 第九周-项目2 - 对称矩阵压缩存储的实现与应用
- js截取中间字符串
- 高效加载较大的 Bitmaps
- Java最大堆排序
- swift实现微博@及#话题#功能
- Character常用方法
- 机房收费系统——数据库设计说明书
- UVALive 6886 Golf Bot
- hibernate抓取策略(fetch)
- Objective-C:数组排序、过滤
- Android Studio安装的时候遇到的一些问题解决方法