图像处理 - BMP图像行字节数

      BMP是一种与硬件设备无关的图像文件格式,采用位映射存储格式。BMP文件的图像深度可选1bit、4bit、8bit及24bit。位图数据记录了位图的每一个像素值或该对应像素的颜色表的索引值,BMP文件存储位图数据时,图像的扫描方式是在行内按从左到右扫描、在行间从下到上扫描的顺序。Windows规定图像文件中,一个图像的扫描行所占的字节数必须是4的倍数(即以字为单位),不足的以0填充!

      biWidth:图象的宽度,单位是象素
      biBitCount:每个像素所需的位数,常用的值为1(黑白二色图), 4(16色图), 8(256色), 24(真彩色图)

      biBitCount = 1,8个像素占1个字节; 
      biBitCount = 4,2个像素占1个字节; 
      biBitCount = 8,1个像素占1个字节; 

      biBitCount = 24,1个像素占3个字节; 

      对于BMP等位图来说,要求是4字节对齐,即每行字节数必须为4的整数倍,因此满足以4字节为对齐单位向下对齐,所以每行字节数为:(8Bit = 1Byte)

      PerLineBytes = (((biWidth * biBitCount) / 8 + 3) / 4) * 4

当BMP图位宽不足 8 时,多个像素才占用 1Byte,因此可以将除8外移,同时因为字节数必须为4的整数倍,3 * 8需变成31,则行字节数为:

PerLineBytes = (((biWidth * biBitCount)  + 31) / 32) * 4

  • 3
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值