图像跨距的概念

跨距宽度(stride)或叫扫描宽度。

MSDN的示意为: 跨距是单行像素(一个扫描行)的宽度,舍入为一个 4 字节的边界。如果跨距为正,则位图自顶向下。如果跨距为负,则位图颠倒。用程序员的语言表述,就是: Stride指一个扫描行占用的字节数。根据BMP格式的标准,Stride一定是4的倍数。比如一个 24x11 的图像,每行的像素信息就是 24*3 = 72, 正好是4的倍数,而一副 21x11的位图,每行像素信息为 21*3=63, 因为不足4的倍数,所以用1个字节来填充,这样每行像素信息为21*3+1=64字节,这一个字节在笔记中成为 offset, 所以 offset = BitmapData.Stride - BitmapData.Width * 3

 

一个像素的存储大小:

取决于需要存储一个像素的多少信息,以及是否采用了压缩技术。
如果是非黑即白的二值图像,不压缩的情况下一个像素只需要1个bit。
如果是256种状态的灰度图像,不压缩的情况下一个像素需要8bit(1字节,256种状态)。
如果用256种状态标识屏幕上某种颜色的灰度,而屏幕采用三基色红绿蓝(RGB),不压缩的情况下一个像素需要占用24bit(3字节),这个就是常说的24位真彩色。
还有各种其他的存储方式,例如15bit、16bit、32bit
如果考虑到压缩,情况就更复杂了,是有损压缩还是无损压缩,具体采用哪种压缩算法,压缩参数参数设置等等都会影响到一个像素占用的存储空间。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值