图像加载缩放

本文介绍了一种根据屏幕尺寸加载合适大小图片的方法。通过获取屏幕尺寸,并使用BitmapFactory.Options仅获取图片尺寸而非实际加载图片,计算合适的缩放比例,从而避免了因图片过大而消耗过多内存的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

                                <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>
				

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值