什么是PixelFormat.RGBX_888

Cod*_*ird 5 android pixelformat rgba

正如标题所说,任何人都知道什么是RGBX_8888像素格式?和RGBA_8888有什么区别?RGBA_8888是否提供alpha通道但RGBX_8888不提供?

不幸的是,android文档没有提供太多关于此的信息.

谢谢.

Sip*_*pka 8

RGBX表示像素格式仍然具有Alpha通道,但它被忽略,并始终设置为255.

一些参考:

Blackberry PixelFormat (它不是android,但我猜这些命名约定在各个平台上都保持不变.)

RGBX 32位RGB格式作为8个红色位,8个绿色位,8个蓝色位和8个忽略位存储在存储器中.

Android 4.1.2源代码(texture.cpp)第80行

有一个名为PointSample的函数,它根据模板格式和传递的参数进行采样.你可以看到,在pixelformat RGBX_8888,alpha通道被忽略并设置为255,而在RGBA_8888,它通常被采样.

if (GGL_PIXEL_FORMAT_RGBA_8888 == format)
    *sample = *(data + index);
else if (GGL_PIXEL_FORMAT_RGBX_8888 == format)
{
    *sample = *(data + index);
    *sample |= 0xff000000;
}
Run Code Online (Sandbox Code Playgroud)