• <noscript id="ecgc0"><kbd id="ecgc0"></kbd></noscript>
    <menu id="ecgc0"></menu>
  • <tt id="ecgc0"></tt>

    淺析BMP文件格式

    我們在編程的時辰,有的時辰會用到BMP文件的存儲以及讀取,這個時辰就需要對BMP文件格局有一個大要的領會才能順遂的讀取以及存儲BMP文件

    總述

    1. 1

      BMP文件總體來說由四部門組成,別離為位圖文件頭、位圖信息頭、彩色表和圖像數據陣列。知道了文件的構成那么大要說一下文件這幾部門巨細:

      位圖文件頭巨細為14字節,

      位圖信息頭為40字節,

      彩色表按照BMP圖的分歧(我感受這里的分歧指的就是日常平凡說的單色位圖、8位位圖以及16位位圖或者24位位圖這種分歧)而巨細分歧

      圖像數據陣列就是看圖片的巨細而分歧了,接下來具體針對分歧部門來進行詮釋,如下圖:

    位圖文件頭

    1. 1

      位圖文件頭如下圖有五個部門構成,依次進行詮釋:

      1.bfType:2字節 暗示位圖類型,因為這里解析的是BMP文件,所以這兩個字節為BM

      2.bfSize:4字節 暗示文件的巨細

      3.bfReserved1:2字節 這個是保留的,為0

      4.bfReserved2:2字節 這個也是保留的,為0

      5.bfOffBits:4字節 這個是說文件起頭到現實圖像數據之間的字節偏移量,我理解的文件包羅四個部門,最后一個部門為現實圖像數據,所以這個量指的就是前三個內容的巨細

    位圖信息頭 和 彩色表

    1. 1

      下圖中的變量BITMAPINFO布局暗示位圖信息頭,包羅兩個部門,別離詮釋:

      1.bmiHeader 40字節  暗示位圖文件信息頭 這個在步調2進行具體詮釋

      2.bmiColors 字節不心猿意馬 暗示彩色表 這個在步調3進行具體詮釋

    2. 2

      下圖中暗示的就是bmiHeader 位圖信息頭的構成部門,別離進行詮釋:

      1.biSize 4字節 暗示位圖文件信息頭的巨細(為40 單元是字節)

      2.biWidth 4字節  暗示位圖文件的寬度(像素)

      3.biHeight 4字節 暗示位圖文件的高度(像素)

      4.biPlanes 2字節 不太理解,一般為1

      5.biBiCount 2字節  這個就是常說的幾位位圖,值為1/4/8/16/24/32

      6.biCompression 4字節 暗示位圖文件的壓縮體例,默認0 暗示沒有壓縮

      7.biSizeImage 4字節 暗示圖像的巨細,當沒有壓縮的時辰,這個值可覺得0

      8.biXPelsPerMeter 4字節 暗示程度分辯率

      9.biYPelsPerMeter 4字節 暗示垂直分辯率

      10.biCIrUsed 4字節 暗示彩色表中的顏色索引數量

      11.biCIrImportant 4字節 暗示有主要影響到顏色索引數量

    3. 3

      下圖中暗示彩色表中一個彩色快的布局,別離進行詮釋

      1.rgbBlue 1字節 藍色

      2.rgbGreen 1字節 綠色

      3.rgbRed 1字節 紅色

      4.rgbReserved 1字節 保留位0

    4. 4

      申明一點:

      當位圖為單色位圖的時辰,有2個彩色快

      當位圖為4位位圖的餓時辰,有16個彩色快

      當位圖為8位位圖的時辰,有256個彩色快

      當位圖為24位位圖的時辰,沒有彩色快

    圖象數據陣列字節

    1. 1

      第四部門是圖像數據類,一幅圖的數據挨次是從左往右,然后從上往下,(舉個例子2x2,挨次就是0,0  0,1  1,0  1,1 ),然后需要注重一點是windows讀取文件一行字節數必需是4的倍數,所以不敷4字節要補齊,然后就用到了下面圖中的公式,下圖入彀算成果就是一行要用到的字節數,如下圖:

    2. 2

      申明一點:

      當位圖為單色位圖時,8個像素占一個字節

      當位圖為4位位圖時,4個像素占一個字節

      當位圖為8位位圖時,1個像素占一個字節

      當位圖為24位位圖時,1個像素占三個字節

    注重事項

    • 小我不雅點,僅供參考。
    • 感激閱讀。
    • 發表于 2018-07-23 00:00
    • 閱讀 ( 751 )
    • 分類:其他類型

    0 條評論

    請先 登錄 后評論
    聯系我們:uytrv@hotmail.com 問答工具
  • <noscript id="ecgc0"><kbd id="ecgc0"></kbd></noscript>
    <menu id="ecgc0"></menu>
  • <tt id="ecgc0"></tt>
    久久久久精品国产麻豆