BMP格式中关于bisizeimage,bisize和bfsize的区别

在写作业的时候对这三者区别感到困惑,网上没找到详细的区别介绍。
下面介绍可以参考下。

bfSize是位图图像的完整文件大小,位图图像的文件大小由两部分组成:
一个报头部分(与关于文件的一般信息= bfOffBits)
和图像部分(存储像素信息的位置= biSizeImage)

因此,我们有以下结构

 bfSize = bfOffBits + biSizeImage;

此外,bfOffBits(标题部分) 可以进一步细分为
一个文件头和
信息头(biSize)

因此,它也可以写成

bfSize = 14 + 40 + biSizeImage

要么

bfSize = 54 + biSizeImage

然而,这将是不好的做法,因为硬编码的“魔术数字”通常是不受欢迎的。
但是让我们来看看biSizeImage。一般来说,图像本身的文件大小由颜色深度 * 宽度 * 高度组成。24位BMP中的颜色深度为每像素3个字节(蓝色,绿色,红色分别为0-255个值) - 所谓的RGB三元组。专家的其他信息:三种颜色的值按蓝色,绿色,红色的顺序保存 - 搜索关键字LittleEndianness以获取有关该主题的更多信息。如果图像的宽度不能除以4个字节,则BMP标准还会将0添加为填充。

正如其他人指出的那样,稍微容易混淆,你现在必须将像素的大小乘以字节深度。因此,我们有

biSizeImage = (biWidth * sizeof(RGBTRIPLE) + padding) * abs(biHeight)

这将为您提供图像的最终字节大小。

所以,得出结论:

biSizeImage = BMP 图像部分的文件大小(以字节为单位)
biSize = BMP头的info头部分的文件大小(以字节为单位)
bfsize =完整BMP的文件大小(以字节为单位)(包括标题和图像本身)

希望能有助于理解,(https原文链接)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值