BitmapFactory.Options
2013-03-15 09:55
183 查看
加载和显示图片是很消耗内存的一件事,BitmapFactory.Options 类, 允许我们定义图片以何种方式如何读到内存,
上面的代码使图片变成原来的1/8.
上面的代码让图片根据窗口大小改变
BitmapFactory.Options bmpFactoryOptions = new BitmapFactory.Options(); bmpFactoryOptions.inSampleSize = 8; Bitmap bmp = BitmapFactory.decodeFile(imageFilePath, bmpFactoryOptions); imv.setImageBitmap(bmp);
上面的代码使图片变成原来的1/8.
//imv = (ImageView) findViewById(R.id.ReturnedImageView); Display currentDisplay = getWindowManager().getDefaultDisplay(); int dw = currentDisplay.getWidth(); int dh = currentDisplay.getHeight(); try { BitmapFactory.Options bmpFactoryOptions = new BitmapFactory.Options(); bmpFactoryOptions.inJustDecodeBounds = true; Bitmap bmp = BitmapFactory.decodeStream(getContentResolver(). openInputStream(imageFileUri), null, bmpFactoryOptions); int heightRatio = (int)Math.ceil(bmpFactoryOptions.outHeight/(float)dh); int widthRatio = (int)Math.ceil(bmpFactoryOptions.outWidth/(float)dw); Log.v("HEIGHRATIO", ""+heightRatio); Log.v("WIDTHRATIO", ""+widthRatio); if (heightRatio > 1 && widthRatio > 1) { bmpFactoryOptions.inSampleSize = heightRatio > widthRatio ? heightRatio:widthRatio; } bmpFactoryOptions.inJustDecodeBounds = false; bmp = BitmapFactory.decodeStream(getContentResolver(). openInputStream(imageFileUri), null, bmpFactoryOptions); returnedImageView.setImageBitmap(bmp); } catch (FileNotFoundException e) { Log.v("ERROR", e.toString()); }
上面的代码让图片根据窗口大小改变
bmpFactoryOptions.inJustDecodeBounds = true;这一行让代码只解码图片的Bounds
相关文章推荐
- Bitmap与BitmapFactory.Options
- android之BitmapFactory.Options的使用
- 浅谈BitmapFactory.Options
- BitmapFactory.Options避免 内存溢出 OutOfMemoryError的优化方法
- BitmapFactory.Options详解
- Android使用BitmapFactory.Options解决加载大图片内存溢出问题
- BitmapFactory。Options.inSampleSize用法
- Android使用BitmapFactory.Options解决加载大图片内存溢出问题
- BitmapFactory.decodeFile(filePath, options) 返回 Null 6.0权限
- Android使用BitmapFactory.Options解决加载大图片内存溢出问题
- 转!Android使用BitmapFactory.Options解决加载大图片内存溢出问题
- BitMap高效显示策略(三):使用内存缓存技术和BitmapFactory.Options.inBitmap参数
- Android图片 BitmapFactory.Options.inSampleSize 采样率不准确问题
- BitmapFactory.Options
- BitmapFactory.Options避免 内存溢出 OutOfMemoryError的优化方法
- BitmapFactory.options属性翻译
- BitmapFactory.Options对图片进行缩放
- BitmapFactory.Options详解 怎样获取图片的大小 遇到大一些的图片,遇到OOM(Out Of Memory)的问题
- BitmapFactory.Options&bitmap加灰色遮罩
- BitmapFactory.Options详解