2012-03-02 47 views
0

过去两天来,我一直在使用opengl中的纹理问题,纹理只是在某些设备上呈现为白色框,并且在其他所有方面都表现良好。我再次检查并且仅使用了POT(两个幂次)图像并且没有解决问题。从我读的内容来看,我认为android正在对这些特定设备上的位图进行一些操作,这些设备将它们从维度上敲掉,然后使纹理呈现空白或白色。Android - 如何让android无法重新调整位图图像的尺寸

我正在使用的这些图像没有存储在apk中,尽管我试图使用存储在本地资源中的图像,并且它们似乎没有什么区别,无论它们是本地存储还是使用图像流式传输到设备中的流的形式。我唯一的猜测是,我需要做一些事情来保持android的某些版本从调整图像大小,但我不知道如何做到这一点。

回答

3

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

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

+0

嘿感谢链接:)我看了看很多材料在android文档,但跨之前没有来。 – 2012-03-02 06:10:47

+0

成功!!!!无论如何,直到我的应用程序开始运行,并且在我的测试组旁边的其他设备给了我更多看不见的错误:p但是,我终于得到了一些本地资源绘制在我的对象在某些设备上的opengl上的对象 – 2012-03-02 07:02:24

1

您是否尝试过使用9patch图片,如果你正确地补一补,Android将不会缩放图像

+0

没有我从来没有尝试过与9patches搞乱然而我想我读的地方,android系统将使用它们时忽略某些标志。不知道这对我的使用会是不好还是不好,但是你在使用opengl的时候是否使用了它们? – 2012-03-02 07:04:09