Talk:RGBA color model

This page should be merged with ARGB, as the only real difference between the two is the order of the components. --InvaderJim42 01:19, 16 June 2006 (UTC)

Illustration?
I think an illustration could be helpful here to grasp the concept only by a quick glance. Perhaps something like a regular RGB color wheel overlayed on a square grid (to illustrate the background shining through), but with an alpha channel increasing in value as you move farther out from the center of the wheel. The picture title could then tell it's an RGB color wheel with increasing alpha values as you move from its center. Just an idea. :-) It could be represented as a PNG since it supports alpha channels. Internet Explorer 7 will finally also support such images to reduce the problems for the vast majority of the web viewing such images. -- Northgrove 23:42, 5 October 2006 (UTC)

Really necessary?
Is this page really necessary? The topic is already discussed in the RGB article. Also, this article should be renamed 'RGBA color model', since we're not dealing with real light. Also, the RGB article states that RGBA is not a distinct color model. Alpha is also not a color. -SharkD 16:35, 26 October 2006 (UTC)
 * I think it's necessary, but I think it's wrongly categorized; RGBA/ARGB aren't color spaces, just a modifier to the RGB color-space to add blending; I'm not sure how to define that in words, but ARGB/RGBA would be the full article name IMO. I'm also fixing the article to include the difference between pre- and post- multiplied alpha. 70.35.227.160 17:18, 10 January 2007 (UTC)

"Best known"
Known by whom and for what purpose? IMHO, it's the best supported RGBA image container for the web, but it's not the "best" universally.

-- Ok I just edited that from "PNG is the best-known image format..." to just say "PNG is an image format that uses RBGA."

aRGB redirect
to many aRGB is refers to "adobe RGB" for cameras, so the redirect is misleading to them. 68.45.4.118 21:41, 13 July 2007 (UTC)

ARGB also refers to addressable RGB for the custom PC crowd. Mikepelley (talk) 21:54, 15 July 2020 (UTC)

ARGB, RGBAX
This deletes the fact the term RGBA is very misleading, half the time it means the BYTES are arranged in that order, the other time it means some 32-bit arrangement such as described, which almost always means the bytes are not in that order. The terms BGRA and ARGB and ARGB32 have been used to try to unambiguously mean the 32-bit arrangement shown and all mention of them have been deleted.

I have NEVER seen anything like the numeric "RGBAX" syntax shown. First (as mentioned at the bottom) it cannot describe the ORDER of the colors. The suggested subscript numeric version for getting the order is almost indecipherable, allows overlapping fields, and does not allow more than one group of padding, and I find it hard to believe anybody uses anything like this. All examples I have seen use syntax like "A8R8G8B8" or "X2R10G10B10". Sometimes subscripts are used but the important aspect is that letters and numbers alternate. Can somebody provide a reference to actual use of this syntax?

RGBAX - whose invention is this?
RGBAX seems to be someone's solution in search of a problem. In several decades of work in computer graphics and video, writing a few books, and reviewing half a dozen, working in software, firmware, and hardware, I've never come across it. I suggest that it be deleted. Failing any comments to justify it, I'll do so at some point. — Preceding unsigned comment added by Cpoynton (talk • contribs) 23:44, 13 September 2011 (UTC)


 * Absolutely agree, see the above section on this talk page that I wrote a long time ago. This syntax I have NEVER seen in any documentation ever. Please remove it all and a lot of other confusion about the term "RGBA". As far as I know the term "RGBA" is used to specify several different things and this can only be figured out in context:

Spitzak (talk) 20:03, 14 September 2011 (UTC)
 * An image that contains 4 channels of red, green, blue, and alpha, the data format is unspecified
 * An rgb+alpha image stored as fixed-sized units in the interlaced R,G,B,A order (SGI systems and OpenGL)
 * An rgb+alpha image stored as 32 bit words where each word is 0xAARRGGBB (when written in hex) (Windows). On a big-endian machine the bytes are therefore interlaced in B,G,R,A order. Often called "ARGB" or "ARGB32" or "BGRA" in an attempt to disambiguate from the OpenGL meaning of RGBA.


 * Meh, I added it again, it seems to be used sometimes and is actually explained very detailed in the link given. It's part of the standard and whether you like it or not, is part of it. So not talking about it/it not being used a lot (like the PNG or JPEG encoding used in BMP files only valid for printing) is no reason to disregard it's existence. That almost everyone uses a standard sample length doesn't mean another one can't be used... 83.119.136.130 (talk) 23:45, 28 February 2012 (UTC)


 * The referenced page is a copy of the BMP page from Wikipedia
 * The link that "describes RGBAX" is a copy of the old Wikipedia page for RGBA
 * Such circular references do not count. There is no mention of this format in Microsoft's own BMP documentation.
 * Furthermore, the format is useless and cannot describe the very examples it claims to, because it does not define the *ORDER* of the bits.
 * I believe this was written by somebody as a hobby and they posted it here without even figuring out that it does not work.
 * Unless you can find a REAL reference, with *DIFFERENT* images so it is obviously not cut & pasted from Wikipedia, I think this should be removed.Spitzak (talk) 02:25, 29 February 2012 (UTC)


 * I have now wasted a great deal of time searching Google for any mention of "RGBAX", "RGBAX notation", and "Sample Length Notation". I have not found anything other than direct copies of the Wikipedia page for BMP file format and RGBA color space. I did find a Java object called "RGBAX", it contains the decomposition of a pixel into r,g,b,a bytes with an extra 'x' byte for the unused bits. Since it does not contain information about the location & size of these samples in the original word, it is not the same as this notation. I therefore agree this notation is some random invention by an author of the BMP wikipedia page, who did not figure out that it can't even represent the bitfields (since order is not included in the notation), and this notation was never used anywhere else other than the Wikipedia BMP file page.

Therefore I recommend it be removed from here and from the BMP file page.Spitzak (talk) 18:54, 29 February 2012 (UTC)
 * Concur infinitely. I saw for the first time RGBAX on the BMP file format page while I was fiddling with some BMP files today. I have worked with such files since the Windows 3.0 days, especially in 5-5-5 and 5-6-5 formats, where notation of the specifics of the number of bits per component and how they are stored is vital and not obvious. And yet I have never seen RGBAX until today. Mr. IP address says "It's part of the standard and whether you like it or not, is part of it." This word "standard", I don't think it means what he/she thinks it means. I think if there were a free-standing standard to cite it would have been, and the fruitless efforts documented here to find such a standard give us sufficient grounds to eliminate RGBAX from these pages. Cardiffman (talk) 08:45, 23 October 2012 (UTC)

"It should be noted that RGBA is relatively obscure compared to ARGB"
This is incorrect! The (as of 2011) most used image format on the World Wide Web (PNG) uses the RGBA color byte order for its Truecolour with alpha image type: Each pixel is an R,G,B triple followed by an alpha sample. (Source: Table 11.1 from the PNG specification)

I have also verified myself that one indeed has to write the color components of the image in RGBA order into a (in my case hand-crafted) PNG file for them to be displayed correctly.

Alpha-blended TrueColor PNGs are by no means "obscure" (not even "relatively obscure"). — Preceding unsigned comment added by Alexander255 1100001 (talk • contribs) 20:48, 22 May 2015 (UTC)


 * Agreed. This email seems to confirm that RGBA (in byte-order: where address of A is lower than address of G, etc) is by far the most common layout.  This article is rather misleading and should be corrected. --Fylwind (talk) 01:30, 25 December 2015 (UTC)

Disputed: inaccuracies in the article
There are several problems with the existing article. I tried to edit it to at least clarify the situation, thinking that it was just a problem of confusing notation, but the problems are actually quite deep and would require deleting a substantial amount of text as well as editing the images.

The key problem is that there's a conflation between two different concepts:


 * Byte-ordering: one can specify how the bytes are laid out in some stream (e.g. a file, or a TCP connection). This is useful when you want to discuss serialization.  In this case, when one says RGBA, it means R is followed by G, which is followed by B, which is followed by A.  It gets slightly tricky when the channels are, say, 16-bits, because then endianness becomes a factor.  However, I think it's typical to just default to network order, as typical of most formats/protocols.


 * Word-ordering: one can specify how a given 32-bit word is to be interpreted as RGBA components. So if I say RGBA (word-order), it means if I bit-wise AND the number with 0xff then I get A.  This convention only affects how the CPU should interpret a word, so that operations on the components can be performed via bit-operations.  Put in another way, it describes how a set of bytes are to be packed to or unpacked from a word.  This ordering should never manifest itself in a file or protocol, because when you do that then the result becomes inherently endian-dependent and that's just an awful design for any portable serialization format.  This is why I put the Disputed banner on the "RGBA hexadecimal" section: it talks about a file format (PAM) but uses word-ordering.  That just makes no sense, and I was not able to find any official documents on PAM that prescribe such a strange ordering.

TL;DR: Byte-ordering is used to describe serialization. Word-ordering describes how components are packed in words. They have very different purposes and shouldn't be confused with each other.

There's also the other problem that it claims ARGB (word-order) is more common. I was not able to find any sources that reflect this. If anything, given the ubiquity of little-endianness these days I would assume that ABGR (word-order) would be more typical since that corresponds to the common RGBA (byte-order) used in most image formats nowadays (like PNG).

I removed all claims that X is more common than Y for now.

--Fylwind (talk) 02:43, 25 December 2015 (UTC)
 * ARGB is used in the raster paint-systems in Windows, OS X, and in the cross platform toolkit Qt, on top of that I know Chromium/Blink and WebKit uses it internally. It has caused BGRA to be a common OpenGL1 extension (before being included to 2.0), and when it was removed in OpenGLES, multiple (incompatible) vendor extensions to add BGRA to OpenGLES were created. Carewolf (talk) 11:53, 25 December 2015 (UTC)