首页 > 代码库 > BitmapFactory.Options
BitmapFactory.Options
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
BitmapFactory.Options
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。