我有一个 800 x 300 的图像,我知道这是我的测试平台分辨率的宽度(HTC Desire at 800x480)。当我尝试将此图像绘制到屏幕上时,它会奇怪地缩放。它溢出屏幕的左侧,几乎填满了整个垂直方向。
我正在使用这样的代码:
canvas.drawBitmap(屏幕[1],新矩形(0,0,800,300),新矩形(0,0,800,300),空);
由于某些原因
width_x = canvas.getWidth();
width_y = canvas.getHeight();
报告我的分辨率为 533 x 320。现在我假设这是针对android 使用的已删除的迷人缩放系统,因此应用程序在所有手机上的大小都相同,但我想忽略这一点。我正在编写一个游戏,所以想自己处理缩放和定位 - 例如,如果可用的话,使用更多的屏幕空间。最佳 android 实践可能适用于基于图标的应用程序,但我想绘制到绝对像素位置,并获取屏幕的绝对分辨率信息。
因此我的问题是——这绝对不可能吗?如果它是完全禁忌的,因为 android 有一个简单而有效的系统来执行此操作,那么我很想知道它是什么。dpi 与我的游戏设计无关(就像这是一个 pc 游戏一样,这将是无关紧要的)
也许我的屏幕实际上是 533 x 320,除非我以某种方式指定分辨率?我尝试使用宽度和高度的缩放值,并且图像在屏幕上的大小大致正确,但由于发生了某种缩放,边缘呈锯齿状。因此,我无法访问我的屏幕能够显示的所有像素。
为了缩放它,我使用了类似的东西
canvas.drawBitmap(屏幕[1],新矩形(0,0,800,300),新矩形((int)(0.0f),(int)(0.0f),(int)(533.0f),(int)(187.5f )), 无效的); // 刚刚输入用于测试的数字 - 比率相当于报告的屏幕分辨率。看起来很可怕
任何帮助将不胜感激。
干杯,
罗宾。