图片像素基本知识

本文详细解读了图片由像素组成的基本概念,包括色深、RGB颜色模型以及图片格式如BMP、JPEG、PNG和GIF的特点。重点介绍了不同色深和格式对颜色显示的影响,以及它们在嵌入式产品中的应用。此外,文章还讨论了图片格式之间的区别,如压缩算法和透明信息的处理,并提供了实际应用场景分析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

图片由像素组成,例如一张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,这样有些颜色就会显示不出来。

不过大家在用的桌面操作系统的色深是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库才能支持这样格式的图片。

png图片,最高色深32bit,这个是带alpha通道信息的,而且也是经过压缩算法的,体检很小,所以网上那些透明的很好看的图片一般都是png的(又可以透明,体积又小)。同样需要外部png库才能支持这种格式。

gif么,我不太清楚,它一般是用于动画的,不过也可以用来表示静态图片(一帧动画不就是静态的么-_-||)。gif也可以带alpha通道。

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

转载于:https://www.cnblogs.com/beauty/p/3250046.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值