我无法在Android的openGL上加载关于其分辨率的纹理。如果纹理是256x256,一切都很完美,但如果它是其他分辨率,程序会在启动时抛出此异常:
android.content.res.Resources $ NotFoundException:资源ID#0x ........
我在互联网上找到了一个以这种方式改变位图密度的代码:
BitmapFactory.Options options = new BitmapFactory.Options();
options.inDensity = 240;
通过这样做,我可以加载512x512纹理。但是我无法加载例如128x128位图,因为我不知道我必须使用哪个密度。我不确定这是加载纹理的正常程序,因为我在互联网上找不到很多信息。
感谢您阅读!
答案 0 :(得分:0)
你不需要指定密度,你只需要确保图像是2的幂,你似乎已经完成了。我会省略密度选项,只需指定Config.ARGB_8888;
如果这不能解决问题,您可以显示加载纹理的代码
答案 1 :(得分:0)
如果有人遇到这个问题,或者纹理出现乱码(就像是另一个或其他奇怪的东西),我可以通过删除“drawable”文件夹中的所有项目并再次放入它来解决它。似乎指向图像的指针已损坏或其他东西。