正如标题所说,有人知道什么是RGBX_8888像素格式吗?和RGBA_8888有什么区别? RGBA_8888 是否提供 Alpha 通道,但 RGBX_8888 不提供?
不幸的是,android 文档没有提供太多这方面的信息。
Thanks.
RGBX 意味着像素格式仍然具有 Alpha 通道,但它被忽略,并且始终设置为 255。
一些参考:
黑莓像素格式 https://developer.blackberry.com/native/reference/cascades/bb__pixelformat.html(它不是 android,但我猜命名约定在各个平台上保持相同。)
RGBX 32 位 RGB 格式在内存中存储为 8 个红色位、8 个绿色位、8 个蓝色位和 8 个忽略位。
安卓4.1.2源码 http://osxr.org/android/source/external/mesa3d/src/pixelflinger2/texture.cpp#0328(纹理.cpp)第 80 行
有一个名为 PointSample 的函数,它根据模板格式和传递的参数进行采样。您可以看到,在像素格式 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;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)