Android Opengl ES透明纹理上的一种颜色

时间:2011-02-13 11:55:55

标签: android opengl-es

我有一个纹理。它是JPEG文件,背景为红色RGB(255,0,0)。在RGB(255,0,0)颜色为透明的情况下加载此纹理(或显示)的最佳方法是什么?

1 个答案:

答案 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);