图片像素基本知识

图片由像素组成,例如一张90x40的bmp(位图),就由90x40个像素组成。每一个像素又由如干位(bit)组成,例如8bit、16bit、24bit,这个就是咱们说的色深。计算机里的颜色通常用用得最广泛的RGB(红、绿、蓝)三色组成。如今用一个数值分别表示这三种颜色的亮度,例如范围为255,值越小就越黑,值越大就越亮,这样由3个0~255的数值混合能够组合成不少种颜色(这个叫作像素值,pixel)。这里就能够看到刚刚说范围是0~255,这样一种颜色就须要8bit(2^8),3种颜色就是24bit(3x8),这就是咱们日常说的24色深。这样的颜色组合可以达到2^24=16777216种,已经达到人眼的分辨率极限。可是通常在嵌入式中,通常显示屏幕达不到这么高的颜色显示,如今通常带GUI的嵌入式产品的主流色深是16bit,就说分给RGB每一个份量的位数不足8bit,这样有些颜色就会显示不出来。html

不过你们在用的桌面操做系统的色深是32bit,那除了刚刚说的24bit用于RGB以外,还有8bit是用来干什么了咧?32bit的色深还有8bit用来表示alpha通道,这个通道用来表示颜色的透明度(alpha)。在8bit的状况下,数值越小透明度越高,0表示彻底透明,255表示彻底不透明。你们在网上看到的png格式的图片就是带alpha通道的。算法

这里再说说图片格式。bmp最高是24bit色深,bmp不带alpha通道信息,所以bmp自己不带透明信息。而且bmp是没有压缩过的图片格式,因此通常bmp格式的图片都比较大(这个很好理解:例如一张1024x768x24bit的bmp大小就是:1024x768x24/8x2^20=2.25MB)。无需外部库就支持bmp格式图片(由于直接读取它的数据就是图片信息,要否则怎么叫位图咧)。动画

jpg最高也是24bit的,一样也不带alpha通道信息,可是这种图片格式是通过压缩算法的,因此一样大小的图片,jpg格式的能比bmp格式的小得多。须要外部jpeg库才能支持这样格式的图片。ui

png图片,最高色深32bit,这个是带alpha通道信息的,并且也是通过压缩算法的,体检很小,因此网上那些透明的很好看的图片通常都是png的(又能够透明,体积又小)。一样须要外部png库才能支持这种格式。spa

gif么,我不太清楚,它通常是用于动画的,不过也能够用来表示静态图片(一帧动画不就是静态的么-_-||)。gif也能够带alpha通道。操作系统

转载:http://www.alaiblog.com/minigui/basic-knowledge-of-image-pixels.htmlhtm

相关文章
相关标签/搜索