Không gian màu RGBA – Phần 2

RGBA (byte-order) 
Trong OpenGL và Portable Network Graphics (PNG), RGBA (byte-order) được sử dụng, trong đó các màu được lưu trữ trong bộ nhớ như vậy là R ở địa chỉ thấp nhất, sau đó là G, B và A sau cùng. Trên một kiến trúc endian nhỏ này tương đương với ABGR (word-order).

Ngay cả khi có nhiều hơn 8 bit cho mỗi kênh (như 16 bit hoặc điểm nổi), các kênh vẫn được lưu trữ theo thứ tự RGBA. Trong PNG, các kênh được lưu trữ dưới dạng số nguyên 16-bit theo thứ tự mạng (big-endian).

ARGB (word-order) 
Trong ARGB (theo thứ tự) mã hoá cường độ của mỗi mẫu kênh được xác định bởi 8 bit, và được sắp xếp trong bộ nhớ theo cách như vậy mà một số nguyên unsigned integer 32 bit có mẫu alpha trong 8 bit cao nhất, tiếp theo là mẫu màu đỏ, mẫu màu xanh lá cây và cuối cùng là mẫu màu xanh trong 8 bit thấp nhất:

Các giá trị ARGB thường được biểu diễn bằng 8 số thập lục phân, với mỗi cặp số thập lục phân biểu diễn các giá trị của các kênh Alpha, Red, Green và Blue. Ví dụ: 80FFFF00 đại diện cho màu vàng đậm (50.2%) (không có tiền tố). Giá trị hex 80, là 128 trong thập phân, đại diện cho một giá trị alpha 50.2% bởi vì 128 là khoảng 50.2% giá trị tối đa 255 (FF hex); để tiếp tục giải mã 80FFFF00 giá trị, FF đầu tiên đại diện cho giá trị tối đa màu đỏ có thể có; FF thứ hai giống như trước đó nhưng đối với màu xanh lá cây; 00 cuối cùng đại diện cho giá trị tối thiểu màu xanh có thể có (hiệu quả – không có màu xanh). Do đó, màu đỏ + màu xanh lá cây sản lượng màu vàng. Trong trường hợp không sử dụng alpha, có thể rút gọn xuống 6 chữ số RRGGBB, đây là lý do tại sao nó được chọn để đặt alpha vào các bit đầu. Tùy thuộc vào ngữ cảnh một ký hiệu 0x hoặc một số (#)  được đặt trước các chữ số hex.

Trên các hệ thống nhỏ endian, điều này tương đương với BGRA (byte-order). Trên các hệ thống của tập đoàn lớn, điều này tương đương với ARGB (byte-order).

 

Hệ thập lục phân RGBA (theo thứ tự)
Trong một số phần mềm có nguồn gốc từ các máy của tập đoàn lớn như Silicon Graphics, RGBA (thứ tự từ) có nghĩa là màu được xác định tương tự như ARGB (word-order) nhưng với alpha ở 8 bit dưới cùng chứ không phải là đỉnh. Ví dụ: 808000FF có thể là Đỏ và Xanh: 50,2%, Xanh lam: 0% và Alpha: 100%, màu nâu. Điều này được sử dụng trong, ví dụ: Portable Arbitrary Map (PAM).

Các byte được lưu trữ trong bộ nhớ trên một máy nhỏ endian theo thứ tự ABGR (byte-order).

Leave a Reply

Your email address will not be published. Required fields are marked *