嗨,我開發採用了android OpenGL ES的遊戲,並紛紛創出問題:PNG紋理不加載在HTC渴望
我的遊戲加載在模擬器(Windows XP和Vista從日食)的罰款,這也在T-Mobile G2(HTC Hero)上加載效果不錯,但是當我將其加載到我的新HTC Desire上時,沒有任何紋理顯示爲正確加載(或根本不加載)。我懷疑BitmapFactory.decode方法,雖然我沒有證據表明這是問題。
我所有的紋理都是2的冪,JPG紋理似乎加載(雖然它們看起來質量不是很好),但任何GIF或PNG都不會加載,除非加載了2×2的紅色方塊罰款和一個紋理映射到一個3d對象,但似乎用最接近的顏色填充網格的每個三角形)。
這是我加載圖片代碼:
AssetManager am = androidContext.getAssets();
BufferedInputStream is = null;
try {
is = new BufferedInputStream(am.open(fileName));
Bitmap bitmap;
bitmap = BitmapFactory.decodeStream(is);
GLUtils.texImage2D(GL10.GL_TEXTURE_2D, 0, bitmap, 0);
bitmap.recycle();
} catch(IOException e) {
Logger.global.log(Level.SEVERE, e.getLocalizedMessage());
} finally {
try {
is.close();
} catch(Exception e) {
// Ignore.
}
}
感謝
一個解決方法是使用Bitmap.createScaledBitmap爲「比例」位圖以完全相同的大小。這通常使它更快樂。 – 2011-12-26 11:34:48