Một pixel là một tập hợp các thành phần. Theo truyền thống, các thành phần này có màu đỏ, xanh lá cây và xanh dương, với mỗi thành phần lấy 8 bit dữ liệu.
Vì thường có lợi khi sắp xếp bộ nhớ theo một số cách nhất định, những nơi đôi khi được đóng gói thành 32 bit không gian mỗi cách. Điều này để lại 8 bit dữ liệu bổ sung ở cuối mỗi pixel. Vì đây không phải là màu đỏ, cũng không phải màu xanh lá cây hay màu xanh lam, nó cần một cái tên - và alpha là một cái tên tương đối vô nghĩa.
Bây giờ, khi bạn có một mảng các pixel được sắp xếp thành một hình chữ nhật, bạn sẽ có được điều này:
RGBARGBARGBARGBA
RGBARGBARGBARGBA
RGBARGBARGBARGBA
RGBARGBARGBARGBA
đôi khi bạn chỉ muốn nói về một trong những màu trên, hãy nói màu đỏ:
R***R***R***R***
R***R***R***R***
R***R***R***R***
R***R***R***R***
lựa chọn phụ này chỉ có một yếu tố của mỗi thành phần pixel được gọi là "kênh" trong ảnh. Vì các pixel có 4 thành phần, hình ảnh này có 4 kênh.
Có các định dạng hình ảnh khác không có kênh alpha:
RGBRGBRGBRGB
RGBRGBRGBRGB
RGBRGBRGBRGB
RGBRGBRGBRGB
và có các định dạng với số bit khác nhau trên mỗi thành phần pixel (3,5,8,16,32) và một số có các bit không đồng nhất trên mỗi thành phần pixel.
Kênh trở thành mảng "ảo" chỉ có một thành phần pixel. (Tôi nói ảo, vì có một bước tiến giữa mỗi phần tử, trong khi các mảng theo truyền thống không có bước tiến như vậy)
Phần RGB cũng không được sửa - bạn có thể có hình ảnh thang độ xám có hoặc không có kênh alpha, bạn có thể có hình ảnh CMYK (Cyan Magenta Yellow blacK, thường là trong không gian màu trừ), bạn có thể có hình ảnh có toàn bộ vô số các kênh màu khác nhau được tạo ra bởi một raytracer đầu cơ hoặc một dụng cụ khoa học.
Mặc dù tôi đã xử lý các pixel như thể chúng luôn liền kề nhau, nhưng cũng có thể có các kênh được phân chia trên nhiều vị trí, như sau:
RRRRGGGGBBBBAAAA
RRRRGGGGBBBBAAAA
RRRRGGGGBBBBAAAA
RRRRGGGGBBBBAAAA
hoặc thậm chí
RRRR
RRRR
RRRR
RRRR
GGGG
GGGG
GGGG
GGGG
BBBB
BBBB
BBBB
BBBB
AAAA
AAAA
AAAA
AAAA
hoặc có RGB được đóng gói và A được lưu trữ trong một bộ đệm riêng.
Điều này không phổ biến trong dữ liệu trực tiếp trong các trò chơi, vì các card đồ họa hiện đại thường được thiết kế xung quanh các pixel RGBA. RGB có thể được xử lý thống nhất và với A tính toán nhanh liền kề có thể được thực hiện cho phép kết hợp một pixel RGBA trên nền được vẽ sẵn.
Kênh alpha thường được sử dụng cho thông tin minh bạch. Khó chịu, giá trị tối đa của alpha đôi khi được coi là trong suốt và đôi khi là mờ đục, bởi các cơ sở mã khác nhau. Điều này một lần nữa là ít phổ biến ngày nay. Kênh Alpha cũng đã được sử dụng để đặt hàng bộ đệm z (pixel từ người xem bao xa) để cho phép vẽ không theo thứ tự cho một cảnh và theo truyền thống mip ánh xạ được thực hiện bằng cách đẩy hình ảnh có độ phân giải thấp hơn 2x 2x (hoặc ít hơn 4 pixel) vào kênh alpha của hình ảnh độ phân giải cao hơn, đệ quy.
Ngay cả trong một hệ thống sử dụng pixel RGBA, ý nghĩa của các pixel này có thể không đồng ý. Liệu R có đo được bao nhiêu màu đỏ mà con người nhìn thấy, hoặc bao nhiêu photon màu đỏ nên được phát ra? Đây là sự khác biệt giữa các không gian màu tuyến tính và phi tuyến tính và nó tác động đến cách chính xác để kết hợp các pixel đã nói với một kênh trong suốt.