Android同一图片在不同分辨率下长宽不同

本文描述了在不同设备上绘制地图路线时遇到的问题。作者在Genymotion虚拟机上正常运行的应用,在Android自带虚拟机及实际设备上出现路线偏差。原因是不同分辨率下,通过Bitmap获取的宽高值发生变化,导致缩放比例不准确。

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

帮同学写一个小APP,需要在一张地图上画出算法给出的实际路线。


程序在Genymotion虚拟机上运行时显示正常,但是在Android自带的虚拟机和我自己的安卓机上显示却出现了偏差。


画路线时,先根据屏幕大小调整地图的大小,通过Bitmap的getWidth和getHeight得到图片的宽和高,进而求出scale进行缩放。然而打印出来却发现,在Genymotion上和图片的真实大小一样,但是在Android自带的虚拟机上宽和高分别变成了两倍,而在我自己的安卓机上宽和高变成了1.5倍。由此导致scale不准确,进而画路线时出现了偏差。


查阅资料才得知,同一张图片在不同分辨率下,图片的大小会发生变化,通过Bitmap的getWidth和getHeight得到的图片的宽和高自然也会变大或者变小。


搞了一晚上,真累!


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值