在我的游戏中,我有一个surfaceView,我使用分辨率为400 x 320像素的位图作为它的背景。 当我在手机上运行游戏时,我看到画布尺寸为600 x 400,而我加载的位图报告尺寸为500 x 400(我不记得确切的数字)。 当我在比我的手机分辨率低的模拟器上运行我的游戏时,我看到画布的大小为533 x 380(不精确),但位图仍然报告大小为500 x 400(因此它最终被修剪)。
这怎么可能?首先,bitmap.getWidth()/ getHeight()以像素为单位报告的大小是多少?第二,在两个分辨率屏幕上,位图的大小最终是如何相同的?
由于
答案 0 :(得分:1)
是的,getWidth
和getHeight
会返回像素大小。位图不会根据屏幕分辨率进行缩放。它们根据屏幕密度进行缩放。在这种情况下,您的手机和模拟器似乎具有相同的密度。另请注意,位图有时根本不会缩放。这取决于它们的创建或加载方式。