我有一个纹理。它是JPEG文件,背景为红色RGB(255,0,0)。在RGB(255,0,0)颜色为透明的情况下加载此纹理(或显示)的最佳方法是什么?
答案 0 :(得分:3)
好的jpegs没有透明通道(AFAIK)所以要做的第一件事是在Paint.NET中编辑它或者其他什么,使用魔棒或类似物来使你的红色像素透明,并保存为PNG。 / p>
在运行时,您需要在转换为纹理之前将PNG从资源或资源加载到Bitmap.Config.ARGB_8888
位图。
最后,您的GLSurfaceView
视图需要明确请求它是半透明的cos默认情况下它是不透明的...这是我在GLSurfaceView
派生的构造函数中执行的操作,然后调用setRenderer()
:< / p>
// Make the surface transparent, which it isn't by default
setEGLConfigChooser(8, 8, 8, 8, 0, 0);
getHolder().setFormat(PixelFormat.TRANSLUCENT);