
1个回答
展开全部
一个字节包含8个比特,每个比特可以表示1或者0。像素通常用来表示位图中的一个点。
在很简单的二值图像中(例如某些BMP),一个点要么是黑的,要么是白的。用很多点就可以构成黑白的图像。点分布的密度不同还可以模拟出不同的灰度效果。这样的位图中,一个字节可以表示8个像素。
复杂一些的位图(例如某些GIF),例如256色有调色板的位图,整张图最多256种颜色,图像文件中存储了一个调色板,对256中颜色的色值有定义,然后用一个字节表示一个像素,因为一个字节有8个比特,可以表示2的8次方个状态,2的8次方是256,对应于调色板中的256种颜色。
更复杂一些的位图(例如24位真彩色BMP),一个像素由三个字节构成,每个字节分别表示256种状态的红、绿、蓝。这样可以表现相当丰富的色彩。
更复杂一些的位图,基于各种数学和心理学原理对图像进行了无损或者有损的压缩,这个时候一个字节能包含几个像素就很难说了。
如果拿到一个图像文件,比较简单的算法,就是右键查看属性,看看文件大小是多少字节,然后从属性中看看文件的长和宽都是多少像素。长×宽=像素总数。像素总数/总字节数,就“近似”得到了一个字节包含了多少个像素了(由于图像文件中不仅仅存储了像素,所以说是近似)。呵呵。
这个事情实际上确实是很复杂。而且还有好多的人在不断研究如何让一个字节包含更多的像素。
在很简单的二值图像中(例如某些BMP),一个点要么是黑的,要么是白的。用很多点就可以构成黑白的图像。点分布的密度不同还可以模拟出不同的灰度效果。这样的位图中,一个字节可以表示8个像素。
复杂一些的位图(例如某些GIF),例如256色有调色板的位图,整张图最多256种颜色,图像文件中存储了一个调色板,对256中颜色的色值有定义,然后用一个字节表示一个像素,因为一个字节有8个比特,可以表示2的8次方个状态,2的8次方是256,对应于调色板中的256种颜色。
更复杂一些的位图(例如24位真彩色BMP),一个像素由三个字节构成,每个字节分别表示256种状态的红、绿、蓝。这样可以表现相当丰富的色彩。
更复杂一些的位图,基于各种数学和心理学原理对图像进行了无损或者有损的压缩,这个时候一个字节能包含几个像素就很难说了。
如果拿到一个图像文件,比较简单的算法,就是右键查看属性,看看文件大小是多少字节,然后从属性中看看文件的长和宽都是多少像素。长×宽=像素总数。像素总数/总字节数,就“近似”得到了一个字节包含了多少个像素了(由于图像文件中不仅仅存储了像素,所以说是近似)。呵呵。
这个事情实际上确实是很复杂。而且还有好多的人在不断研究如何让一个字节包含更多的像素。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询