Android - 如何防止android重新调整位图图像的大小

时间:2012-03-02 05:58:27

标签: android opengl-es bitmap textures

在过去的两天里,我一直在努力解决opengl中的纹理问题,其中纹理在某些设备上显示为白色框,而其他所有设置都很好。我已经仔细检查并仅使用了POT(2的幂)图像并且没有解决问题。从我读到的内容我认为android正在对这些特定设备上的位图做一些事情,这些设备将它们从尺寸上剔除,然后使纹理变成空白或白色。

我正在使用的这些图像并没有存储在apk中,尽管我已经尝试使用存储在本地资源中的图像,但它们在本地存储或者是否使用图像流式传输到设备的形式似乎没有区别一条小溪我唯一的另一个猜测是,我需要做一些事情来保持某些版本的android不会调整图像大小,但我不知道该怎么做。

2 个答案:

答案 0 :(得分:3)

对于与apk一起存储为资源的位图,您可以通过将系统放在文件夹res/drawable-nodpi中来阻止系统对其进行缩放。对于从流创建的图像,系统通常假定它们用于中密度(160dpi)显示并且将相应地缩放。您可以通过here所述的各种api调用来阻止这种情况。

建议的方法是为每个支持的屏幕分辨率提供单独的图形资源。基本技术描述为here

答案 1 :(得分:1)

您是否尝试过使用9patch图像?如果您正确修补它们,Android将无法缩放图像