<span style="font-size:18px;">Display display=getWindowManager().getDefaultDisplay();
int dh=display.getHeight();
int dw=display.getWidth();
//加载图像的尺寸而不是图像本身
BitmapFactory.Options bOptions=new BitmapFactory.Options();
bOptions.inJustDecodeBounds=true;
Bitmap bm=BitmapFactory.decodeFile(pathName, bOptions);
int height=(int)Math.ceil(bOptions.outHeight/(float)dh);
int weight=(int)Math.ceil(bOptions.outWidth/(float)dw);
//如果两个比率都大于1,那么图像的一条边将大于屏幕
if(height>1&&weight>1)
{
if(height>weight)
{
//若高度比率更大则根据它缩放
bOptions.inSampleSize=height;
}
else
{
//若宽度比率更大则根据它缩放
bOptions.inSampleSize=weight;
}
}
//对它进行真正解码
bOptions.inJustDecodeBounds=false;
bm=BitmapFactory.decodeFile(pathName, bOptions);</span>
图像加载缩放
最新推荐文章于 2023-03-10 10:58:50 发布
本文介绍了一种根据屏幕尺寸加载合适大小图片的方法。通过获取屏幕尺寸,并使用BitmapFactory.Options仅获取图片尺寸而非实际加载图片,计算合适的缩放比例,从而避免了因图片过大而消耗过多内存的问题。

4995

被折叠的 条评论
为什么被折叠?



