您好,有一个问题咨询一下,就是使用BitmapData类及其LockBits()、UnLockBits()操作图像的时候,获取到了Bitmap后,保存发现图像大小和实际字节数组的大小并不一样,如我使用的是1200万的相机,获取的字节数组大小是1200万左右个字节,实际保存的Bitmap大小并不是这么大?请问这个是什么原因?代码也是用的你上面贴的代码。
1.Bitmap文件是有头部信息的会占用一定得存储空间。
2.像素是有存储格式的 具体参见:PixelFormat枚举类。
3.1200玩像素的相机是说明图片有1200万个像素,不是说存储这个图片要1200万个字节。
4.拿bgr24存储格式来说,每存储一个像素的颜色值需要3个字节,分别指向三原色B,G,R的分量值,例如红色这种格式就是:0x0000FF。那么你1200玩万个像素的图片就至少需要 :1200万 * 3 + 文件头部 这么多个字节。
你好,问题现在是,我保存的是8位的灰度图像,用的是海康相机,在在海康的驱动MVS里保存图像的大小是14.4M,但是我这里保存的时候就变成了3.几M,看保存的图像也是1200万的图像大小,按照你说的实际保存下来的大小应该是1200万字节+头部文件大小,应该是大于14.4M