在Android中裁剪图像并调整其大小
我正在从磁盘读取图像,并将其显示在一行中ListView
。图像文件大于ImageView
行中需要显示的图像文件。由于我需要将bitmaps
RAM
缓存在内存中以加快访问速度,因此我希望它们的大小只能与ImageView
s 一样大(85x85 dip)
现在我正在读文件
位图= BitmapFactory.decodeFile(file);
而ImageView负责缩放和裁剪它
android:scaleType =“ centerCrop”
AFAIK这是将整个位图保留在内存中(因为我将其缓存为XD),这很糟糕
如何在加载文件时从ImageView中消除此责任并进行裁切和缩放?所有位图将以85x85倾斜度显示,并且需要为“ centerCrop”
回答:
您可以在加载,裁剪和缩放之前找出图片的尺寸:
BitmapFactory.Options options = new BitmapFactory.Options(); options.inJustDecodeBounds = true;
Bitmap bmo = BitmapFactory.decodeFile(file.getAbsolutePath(), options);
然后以样本大小加载:
...options.inSampleSize = 1/2;
bmo = BitmapFactory.decodeFile(file.getAbsolutePath(), options);
...
= Bitmap.createScaledBitmap(bmo, dW, dH, false);
不要忘记回收临时位图,否则您将获得OOME。
bmo.recycle();
以上是 在Android中裁剪图像并调整其大小 的全部内容, 来源链接: utcz.com/qa/426029.html