什么是像素格式。RGBX_888
What is PixelFormat.RGBX_888
正如标题所说,谁知道RGBX_8888像素格式是什么? RGBA_8888 有什么区别? RGBA_8888 提供 alpha 通道但 RGBX_8888 不提供吗?
不幸的是,android 文档没有提供太多这方面的信息。
谢谢。
RGBX 意味着,像素格式仍然有一个 alpha 通道,但它被忽略了,并且总是设置为 255。
一些参考:
Blackberry PixelFormat
(这不是 android,但我想命名约定在各个平台上保持相同。)
RGBX 32 位 RGB 格式在内存中存储为 8 个红色位、8 个绿色位、8 个蓝色位和 8 个忽略位。
Android 4.1.2 source code (texture.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;
}
正如标题所说,谁知道RGBX_8888像素格式是什么? RGBA_8888 有什么区别? RGBA_8888 提供 alpha 通道但 RGBX_8888 不提供吗?
不幸的是,android 文档没有提供太多这方面的信息。
谢谢。
RGBX 意味着,像素格式仍然有一个 alpha 通道,但它被忽略了,并且总是设置为 255。
一些参考:
Blackberry PixelFormat (这不是 android,但我想命名约定在各个平台上保持相同。)
RGBX 32 位 RGB 格式在内存中存储为 8 个红色位、8 个绿色位、8 个蓝色位和 8 个忽略位。
Android 4.1.2 source code (texture.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;
}