BitmapFactory.Options

BitmapFactory.Options bmpFactoryOptions = new BitmapFactory.Options();
bmpFactoryOptions.inSampleSize = ;
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 > && widthRatio > )
{
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

上一篇:vue的计算属性computed和监听器watch


下一篇:Oracle误删除表空间的恢复