发布网友 发布时间:2022-04-30 05:34
共1个回答
热心网友 时间:2023-10-17 13:07
真彩色(麦金塔电脑用户则为百万色)图像是一种用三个或更多字节描述像素的计算机图像存储方式。
一般来说,前三个通道都会各用一个字节表示,如红绿蓝(RGB)或者蓝绿红(BGR)。如果存在第四个字节,则表示该图像采用了阿尔法通道。然而,实际系统往往用多于8位(即1字节)表达一个通道,如一个48位的扫描仪等。这样的系统都统称为真彩色系统。
每一色光以8位元表示,每个通道各有256(2的8次方)种阶调,三色光交互增减,RGB三色光能在一个像素上最高显示24位1677万色(256*256*256=16,777,216),这个数值就是电脑所能表示的最高色彩。普遍认为人眼对色彩的分辨能力大致是一千万色,因此由RGB形成的图像均称做真彩色。
尽管一个阿尔法通道只是一个透明通道,从图像角度来说意义不大,然而这种32位的图像却在桌面时代大行其道。因为有了Alpha通道,在屏幕上描绘半透明图像变得简单了,(这往往是对绘图硬件加速设备的要求)在电脑桌面上能更为轻而易举地实现半透明窗口、菜单渐隐和阴影等效果。
虽然阿尔法通道对于显示缓冲来说没有意义,但是在现实系统中仍然使用着32位真彩色,这是因为在32位的位图中对于像素的寻址更加容易。对24 位像素寻址需要乘以3,这样比通过移位就可以实现的乘以4的计算量更大。
以上的解释都是站在微软的立场上阐述的,因为其产品视窗系列,即Windows操作系统,均以24位色为真彩色。实际上,真彩色也可以是一种不借助于色彩搜寻表(Color Look-Up Table,CLUT)的显示模式。因此真彩色也可以以各种色彩深度表示(8位,16位,24位……只要不涉及色彩搜寻表)。
那么,图像像素在内存中的存在结构是什么样的呢?要将颜色深度(Depth)与颜色类型(Color Type)结合起来。如:一幅PNG图片的颜色深度是:真彩色图像8bit,颜色类型是:带α通道数据的真彩色图像, 则第一像素的存储结构是:共需要4*8=32bit, 即一个像素点用32bit来存储。其中的4代表, 每一像素由R、G、B、α(透明通道)四部分,每部分的bit位数由Depth来决定,即每一个分色值由8bit(255)来表示。这样就能计算一幅图片共需要多少内存。就可以定义Byte()数组来存读取后存储,并进行相关的操作了。
热心网友 时间:2023-10-17 13:07
真彩色(麦金塔电脑用户则为百万色)图像是一种用三个或更多字节描述像素的计算机图像存储方式。
一般来说,前三个通道都会各用一个字节表示,如红绿蓝(RGB)或者蓝绿红(BGR)。如果存在第四个字节,则表示该图像采用了阿尔法通道。然而,实际系统往往用多于8位(即1字节)表达一个通道,如一个48位的扫描仪等。这样的系统都统称为真彩色系统。
每一色光以8位元表示,每个通道各有256(2的8次方)种阶调,三色光交互增减,RGB三色光能在一个像素上最高显示24位1677万色(256*256*256=16,777,216),这个数值就是电脑所能表示的最高色彩。普遍认为人眼对色彩的分辨能力大致是一千万色,因此由RGB形成的图像均称做真彩色。
尽管一个阿尔法通道只是一个透明通道,从图像角度来说意义不大,然而这种32位的图像却在桌面时代大行其道。因为有了Alpha通道,在屏幕上描绘半透明图像变得简单了,(这往往是对绘图硬件加速设备的要求)在电脑桌面上能更为轻而易举地实现半透明窗口、菜单渐隐和阴影等效果。
虽然阿尔法通道对于显示缓冲来说没有意义,但是在现实系统中仍然使用着32位真彩色,这是因为在32位的位图中对于像素的寻址更加容易。对24 位像素寻址需要乘以3,这样比通过移位就可以实现的乘以4的计算量更大。
以上的解释都是站在微软的立场上阐述的,因为其产品视窗系列,即Windows操作系统,均以24位色为真彩色。实际上,真彩色也可以是一种不借助于色彩搜寻表(Color Look-Up Table,CLUT)的显示模式。因此真彩色也可以以各种色彩深度表示(8位,16位,24位……只要不涉及色彩搜寻表)。
那么,图像像素在内存中的存在结构是什么样的呢?要将颜色深度(Depth)与颜色类型(Color Type)结合起来。如:一幅PNG图片的颜色深度是:真彩色图像8bit,颜色类型是:带α通道数据的真彩色图像, 则第一像素的存储结构是:共需要4*8=32bit, 即一个像素点用32bit来存储。其中的4代表, 每一像素由R、G、B、α(透明通道)四部分,每部分的bit位数由Depth来决定,即每一个分色值由8bit(255)来表示。这样就能计算一幅图片共需要多少内存。就可以定义Byte()数组来存读取后存储,并进行相关的操作了。