BITMAPINFO结果中的biSizeImage如何算?

chengwei02 2007-09-29 01:25:16
我在网上搜到一个公式
biSizeImage=(biWidth*biBitCount+31)/32*4*biHeight
不知道为啥加31
...全文
933 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
jizexuan3681 2007-10-01
  • 打赏
  • 举报
回复
补齐,存储要求,楼上已经解释的足够清楚了~呵呵,开凑个热闹!
carfieldlee 2007-09-29
  • 打赏
  • 举报
回复
biSizeImage=(biWidth*biBitCount+31)/32*4*biHeight其中,biWidth*biBitCount是每一行图像占用的位数,除以8是每行图像占用的字节数,要为4的整数倍,所以除以32再乘以4
31是按整数除法自动取整的原则来的,其保证每行图像字节数必须是4的整倍数!
举一个例子,对于2色图,如果图象宽是31,则每一行需要31位存储,合3个字节加7位,因为字节数必须是4的整倍数,所以应该是4。所以补齐时需要加上4个字节数即32位
vcPlayer 2007-09-29
  • 打赏
  • 举报
回复
BMP位图要求一行的字节数为4的整数倍,4字节就是32位,根据整数除法的规则,所以加31(这其实就是数学上的取整运算的计算机实现)!

(biWidth*biBitCount+31)/32*4 公式算出来的是一行的字节数。

19,470

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧