图像格式RGB888和ARGB8888之间的差异

时间:2014-09-25 07:08:53

标签: android image image-processing

我是图像处理和游戏开发的新手。我正在遵循一个教程,其中建议使用格式为RGB888的背景图像,以及建议使用ARGB8888格式的精灵,按钮和其他休息图标。

最基本的区别是,位RGB888为24位,ARGB8888为32位。

所以我想知道这两种格式之间真正的区别是什么以及它们如何影响视觉表现?

3 个答案:

答案 0 :(得分:15)

有关Wikipedia上色彩空间的更多详细信息以及Android Developers Documentation上有关位图的更多信息。表示 A lpha, R ed, G reen和 B lue频道。 Alpha通道表示图像中 透明度 的级别。名称中的“8”表示每个通道的位数。因此RGB是8 + 8 + 8 = 24位,ARGB是8 + 8 + 8 + 8 = 32位。

RGB中绘图可让您选择图像的颜色,RGB888假设alpha值为255。使用ARGB8888添加Alpha值将允许您使用介于0(完全透明)和255(完全不透明)之间的数字设置透明度。将安全性严重添加到Android菜单中的示例如下图所示:

答案 1 :(得分:7)

RGB888是24位,而不是8位。您提到的两种格式是每个通道8位,但是一个有三个通道,一个有四个。

不同之处在于ARGB添加了一个 alpha通道,它指定了每个像素的不透明度。这就是你获得半透明图像的方式。

RGBARGB相同,隐含的假设是alpha值为255,换句话说,完全不透明。

答案 2 :(得分:5)

A - Alpha

R - 红色

G - 绿色

B - 蓝色

不同之处在于ARGB添加了一个alpha通道,指定每个像素的不透明度。通过使用它,您可以获得半透明图像/叠加。

RGB888 是24位,而不是8位。 它有三个通道,每通道8位,

<强> ARGB8888  它有四个通道,每通道8位。

Alpha值为0-255,其中0表示完全透明,255表示完全不透明。

ARGB_8888 Documentation说:每个像素存储在4个字节上。每个通道(RGB和半透明的alpha)以8位精度(256个可能的值)存储。这种配置非常灵活,并提供最佳质量。应尽可能使用它。