RGB888与RGB565

RGB888与RGB565真彩色是指图像中的每个像素值都分成 R 红 G 绿 B 蓝 三个基色分量 每个基色分量直接决定其基色的强度 这样产生的色彩称为彩色 彩色图像是一种用三个或更多字节描述像素的计算机图像存储方式 普遍认为人眼对色彩的分辨能力大致是一千万色 因此由 RGB888 形成的图像称作真彩色 RGB888 真彩色 每一色光以 8 位表示 每个通道各有 256 级阶调 三色光交互增减 RGB 三色光能在一个像素上最高显示 24

真彩色是指图像中的每个像素值都分成R(红)、G(绿)、B(蓝)三个基色分量,每个基色分量直接决定其基色的强度,这样产生的色彩称为彩色。彩色图像是一种用三个或更多字节描述像素的计算机图像存储方式。 普遍认为人眼对色彩的分辨能力大致是一千万色,因此由RGB888形成的图像称作真彩色。RGB888真彩色,每一色光以8位表示,每个通道各有256级阶调,三色光交互增减,RGB三色光能在一个像素上最高显示24位1677万色(256*256*256=16,777,216),这个数值就是电脑中所能表示的最高色彩。 RGB332(3+3+2=8位色):(2^3)*(2^3)*(2^2) = 8*8*4 = 256(256 Color).俗称256色。 RGB555(5+5+5=15位色):(2^5)*(2^5)*(2^5) = 32*32*32 = 32768(32768/1024 = 32,32K Color),俗称32千色。 RGB565(5+6+5=16位色 ):(2^5)*(2^6)*(2^5) = 32*64*32 = 65536(65536/1024 = 64,64K Color),俗称65千色。 RGB666(6+6+6=18位色):(2^6)*(2^6)*(2*6) = 64*64*64 = (/1024 = 256, 256K Color).俗称262千色. RGB888(8+8+8=24位色):(2^8)*(2^8)*(2^8) = 256*256*256 = (/1024 = 16384,16384K Color ; 16384/1024 = 16 , 16M Color。) 俗称16兆真彩色。 RGB888+8(8+8+8+8=32位色); 除了24位真彩色,现在还出现了32位真彩色(RGB888+8)。32位真彩色并非是2的32次方的发色数,它其实是1677万多色,不过它增加了8位共256阶颜色的灰度,为了方便称呼,就规定它为32位色。它是24位发色数再加上256阶灰度等级。 在我们的计算机中图像是以RGB888格式显示图像的,24位图每个像素保存了32bit的数据,即RGB888+Alpha,Alpha就是半透明填充字节……但是对于真彩的图像而言,肉眼在16bit的时候已经难以分辨了,因此,有些时候,可以讲RGB888转换为RGB565来存储,减少了存储器的容量的同时,降低了数据量;在后端显示的时候,再次把RGB565转换为RGB888,实现数据宽度的匹配!! 总结:低位增加或者移除 一、RGB888->RGB565 方法只要提取相应单色高位即可(R5 G6 B5),但会导致低位的缺失,影响精度,而且无法恢复。 二.RGB565->RGB888 方法只要补充相应单色低位即可(R3 G2 B3)。 RGB888用unsigned int 32位字节存储 
0 0 0 0 0 0 0 0 R7 R6 R5 R4 R3 R2 R1 R0 G7 G6 G5 G4 G3 G2 G1 G0 B7 B6 B5 B4 B3 B2 B1 B0
 RGB565用unsigned short 16位字节存储 
R7 R6 R5 R4 R3 G7 G6 G5 G4 G3 G2 B7 B6 B5 B4 B3
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/226965.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月16日 下午10:16
下一篇 2026年3月16日 下午10:16


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号