screen.colorDepth(色彩深度) 和 screen.pixelDepth(像素深度)

来源:互联网 发布:做班徽的软件 编辑:程序博客网 时间:2024/05/18 15:30

ColorDepth(色彩深度)

ColorDepth(色彩深度)是计算机图形学领域表示在位图或者视频缓冲区中存储1像素的颜色所用的位数,也称为 位/像素(bpp).色彩深度越高,可用的颜色就越多.
色彩深度用”n位颜色”(n-bit color)来说明.若色彩深度是n位,即有2n种颜色选择,而储存每像素所用的位数就是n.

  • 1位:2种颜色,单色光,黑白二色,用于compact Macintoshes。
  • 2位:4种颜色,CGA,用于gray-scale早期的NeXTstation及color Macintoshes。
  • 3位:8种颜色,用于大部分早期的电脑显示器。
  • 4位:16种颜色,用于EGA及不常见及在更高的分辨率的VGA标准,color Macintoshes。
  • 5位:32种颜色,用于Original Amiga chipset。
  • 6位:64种颜色,用于Original Amiga chipset。
  • 7位:128种颜色
  • 8位:256种颜色,用于最早期的彩色Unix工作站,低分辨率的VGA,Super VGA,AGA,color Macintoshes。
    灰阶,有256种灰色(包括黑白)。若以24位模式来表示,则RGB的数值均一样,例如(200,200,200)。
    彩色图像,若以24位模式来表示,则RGB的数值均一样,例如(200,200,200)。就是常说的24位真彩,约为1670万色。
  • 9位:512种颜色
  • 10位:1024种颜色,
  • 12位:用于部分硅谷图形系统,Neo Geo,彩色NeXTstation及Amiga系统于HAM mode。
  • 16位:用于部分color Macintoshes。
  • 24位:有16,777,216色,真彩色,能提供比肉眼能识别更多的颜色,用于拍摄照片。
    另外有高动态范围影像(High Dynamic Range Image),这种影像使用超过一般的256色阶来储存影像,通常来说每个像素会分配到32+32+32个bit来储存颜色资讯,也就是说对于每一个原色都使用一个32bit的浮点数来储存.

索引颜色: 电脑自动选择一张图片中最常见的颜色,制成颜色表,一同储存在图片中.索引颜色通常是8-bit(256色),使用8-bit压缩出来的图片,看起来跟真彩色差不多,档案大小则变得很小.

虽然颜色深度越大能显示的色数越多,但并不意味着高深度的图像转换为低深度(如24位深度转为8位深度)就一定会丢失颜色信息,因为24位深度中的所有颜色都能用8位深度来表示,只是8位深度不能一次性表达所有24位深度色而已(8位能表示256种颜色,这256色可以是24位深度中的任意256色)
比如: BMP格式,支持红、绿、蓝各256种,不同的红绿蓝组合可以构成256的3次方种颜色,就需要3个8位的2进制数,总共24位。所以颜色深度是24.
24 bits: True colors 32 bits: Deep colors
html中的 #rrggbb (rgb) 是True Colors

PixelDepth(像素深度)

像素深度是指存储每个像素所用的位数,它也是用来度量图像的分辨率。像素深度决定彩色图像的每个像素可能有的颜色数,或者确定灰度图像的每个像素可能有的灰度级数。
例如,一幅彩色图像的每个像素用R,G,B三个分量表示,若每个分量用8位,那么一个像素共用24位表示,就说像素的深度为24,每个像素可以是16 777 216(2的24次方)种颜色中的一种。在这个意义上,往往把像素深度说成是图像深度。表示一个像素的位数越多,它能表达的颜色数目就越多,而它的深度就越深。
虽然像素深度或图像深度可以很深,但各种VGA的颜色深度却受到限制。例如,标准VGA支持4位16种颜色的彩色图像,多媒体应用中推荐至少用8位256种颜色。由于设备的限制,加上人眼分辨率的限制,一般情况下,不一定要追求特别深的像素深度。此外,像素深度越深,所占用的存储空间越大。相反,如果像素深度太浅,那也影响图像的质量,图像看起来让人觉得很粗糙和很不自然。
在用二进制数表示彩色图像的像素时,除R,G,B分量用固定位数表示外,往往还增加1位或几位作为属性(Attribute)位。例如,RGB 5∶5∶5表示一个像素时,用2个字节共16位表示,其中R,G,B各占5位,剩下一位作为属性位。在这种情况下,像素深度为16位,而图像深度为15位。
属性位用来指定该像素应具有的性质。例如在CD-I系统中,用RGB 5∶5∶5表示的像素共16位,其最高位(b15)用作属性位,并把它称为透明(Transparency)位,记为T。T的含义可以这样来理解:假如显示屏上已经有一幅图存在,当这幅图或者这幅图的一部分要重叠在上面时,T位就用来控制原图是否能看得见。例如定义T=1,原图完全看不见;T=0,原图能完全看见。
在用32位表示一个像素时,若R,G,B分别用8位表示,剩下的8位常称为α通道(alpha channel)位,或称为覆盖(overlay)位、中断位、属性位。它的用法可用一个预乘α通道(premultiplied alpha)的例子说明。假如一个像素(A,R,G,B)的四个分量都用规一化的数值表示,(A,R,G,B)为(1,1,0,0)时显示红色。当像素为(0.5,1,0,0)时,预乘的结果就变成(0.5,0.5,0,0),这表示原来该像素显示的红色的强度为1,而现在显示的红色的强度降了一半。
用这种办法定义一个像素的属性在实际中很有用。例如在一幅彩色图像上叠加文字说明,而又不想让文字把图覆盖掉,就可以用这种办法来定义像素,而该像素显示的颜色又有人把它称为混合色(key color)。在图像产品生产中,也往往把数字电视图像和计算机生产的图像混合在一起,这种技术称为视图混合(video keying)技术,它也采用α通道。

总结

对于现代计算机色彩深度和像素深度是相等的.

参考资料

wiki: 色彩深度
百度: 像素深度

0 0
原创粉丝点击