❶ BMP圖片格式具體是什麼
BMP是一種與硬體設備無關的圖像文件格式,使用非常廣。它採用位映射存儲格式,除了圖像深度可選以外,不採用其他任何壓縮,因此,BMP文件所佔用的空間很大。BMP文件的圖像深度可選lbit、4bit、8bit及24bit。BMP文件存儲數據時,圖像的掃描方式是按從左到右、從下到上的順序。
由於BMP文件格式是Windows環境中交換與圖有關的數據的一種標准,因此在Windows環境中運行的圖形圖像軟體都支持BMP圖像格式。
❷ BMP 文件格式
BMP 取自 Bitmap 的縮寫。BMP 文件格式,也被稱為點陣圖圖像文件或設備無關點陣圖(DIB, device independent bitmap)的文件格式或簡稱為點陣圖(bitmap),是一個用於存儲點陣圖數字圖像的文件格式,獨立於的顯示裝置,尤其是在 Microsoft Windows 和 OS/2 操作系統上。文件擴展名為.bmp, Windows GDI API 內部使用的 DIB 數據結構(.dib)與 BMP 文件格式幾乎相同。
BMP 文件格式能夠存儲各種顏色深度的單色和彩色二維數字圖像,並且可以選擇存儲數據壓縮,alpha 通道和顏色配置文件。在 Windows Metafile(WMF) 規范中涵蓋了 BMP 格式的文件。
點陣圖圖像文件由固定大小的結構(文件頭)以及以預定順序出現的可變大小的結構體組成。由於該文件格式幾經演進,這些結構體的版本也很多。
參考上圖,點陣圖文件由以下結構依次構成:
這部分數據塊位於文件開頭,共 14 位元組,用於進行文件的識別。典型的應用程序會首先普通讀取這部分數據以確保的確是點陣圖文件並且沒有損壞。所有的整數值都以小端序(little-endian)存放(即最低有效位前置)。
這部分告訴應用程序圖像的詳細信息,在屏幕上顯示圖像將會使用這些信息,它從文件的第15個位元組開始。
這部分數據塊對應了Windows和OS/2中的內部使用的頭結構以及其它一些版本的變體。但所有版本均以一個DWORD位(32位)開始,用以說明該數據塊的大小,使得應用程序能夠根據這個大小來區分該圖像實際使用了哪種版本的DIB頭結構。
存在多種版本的頭結構的原因是微軟對DIB格式進行過多次擴展。下表即為所有不同版本的DIB頭:
BITMAPCOREHEADER之後的版本都只是在前一版本結構末尾追加欄位。
下面我們對比較常見的兩個版本進行說明
DIB 頭從地址 0x0E 開始,下面列出 BITMAPCOREHEADER 版本的 DIB 頭。除非有特殊說明,其中所有值均為無符號整數。
注意:
出於兼容性的考量,大多數應用程序使用較舊版本的DIB頭保存文件。由於 Windows 2000 之後不再支持 OS/2, 因此目前常見的Windows格式是 BITMAPINFOHEADER 標頭。下表對其進行說明,除非有特殊說明,其中所有值均為無符號整數。
壓縮方法(位元組 0x1E ~ 0x21)的有效值如下表所示:
注意:BI_JPEG和BI_PNG僅對列印機驅動有效,不支持屏幕渲染。
此項僅在DIB頭是BITMAPINFOHEADER且Compression Method成員設置為BI_BITFIELDS或BI_ALPHABITFIELDS的情況下存在。
見本文的最後部分
這部分定義了圖像中所用的顏色。如上所述,點陣圖圖像一個像素接著一個像素儲存,每個像素使用一個或者多個位元組的值表示,所以調色板的目的就是要告訴應用程序這些值所對應的實際顏色。
調色板的條目數為 (n為 DIB 頭中指定的的每個像素所佔位數) 或 DIB 頭中指定的調色板的顏色數。
典型的點陣圖文件使用RGB彩色模型。大多數情況下,調色板的每個條目占 4 個位元組,按順序表示 藍色、綠色、紅色、0x00。每個條目的格式如下:
其中,第四個位元組一般沒有使用(大多數應用程序將它設為0),也有些應用程序將第四個位元組作為 alfa 通道使用。
調色板是一個位元組塊(一個表),列出了圖像使用的顏色。對於索引型的點陣圖(每個像素所佔位數為1、4 或 8),調色板的作用是告訴應用程序,像素的實際顏色,此時,像素點存儲的值為此調色板中此像素顏色的索引,根據索引得到像素點真實的顏色。對於非索引型的點陣圖,調色板的作用是列出點陣圖中使用的顏色,以優化具有有限顏色顯示功能的設備,並便於將來轉換為不同的像素格式和著色。
如上所述,當像素採用每像素16位或更高時,通常不使用調色板。
點陣圖中的像素是以行為單位進行存儲的,每一行再存儲時都以 4 位元組對齊,即每一行的大小都向上取整為 4 位元組(32 位 DWORD)的倍數。如果圖像的高度大於 1, 多個經過填充實現對齊的行就形成了像素數組。
所以存儲一行像素所需的位元組數,可以通過以下公式計算:
RowSize單位為位元組,ImageWidth單位為像素;注意公式中的特殊括弧,表示向上、向下取整
像素陣列是一個32位DWORD塊,它逐像素描述圖像,每個像素使用 1 個或多個自己表示。
通常,像素是從下到上、從左到右保存的。但如果使用的不是 BITMAPCOREHEADER, 那麼未壓縮的 Windows 點陣圖還可以從上到下存儲,此時圖像高度為負值。
每一行的末尾通過填充若干個位元組的數據(並不一定為0)使該行的長度為4位元組的倍數。像素數組讀入內存後,每一行的起始地址必須為4的倍數。這個限制僅針對內存中的像素數組,針對存儲時,僅要求每一行的大小為4位元組的倍數,對文件的偏移地址沒有限制。
例如:對於24位色的點陣圖,如果它的寬度為1像素,那麼除了每一行的數據(藍、綠、紅)需要佔3位元組外,還會填充1位元組;而如果寬為2像素,則需要2位元組的填充;寬為3像素時,需要3位元組填充;寬為4像素時則不需要填充。
此處的單位 bbp 為 (bit/pixel), 位每像素
為了解決哪些位定義了哪些樣本的歧義,DIB標頭提供了某些默認值以及特定的BITFIELDS,它們是位掩碼,用於定義像素中特定位組到特定通道的成員資格。下圖定義了此機制:
BITFIELDS位掩碼定義的樣本欄位必須是連續且不重疊的,但是樣本欄位的順序是任意的。最普遍的場序是:Alpha,Blue,Green,Red(MSB到LSB)。僅當DIB標頭的Compression成員設置為BI_BITFIELDS時,紅色,綠色和藍色位掩碼才有效。只要在DIB標頭中存在或將DIB標頭的Compression成員設置為BI_ALPHABITFIELDS [5](僅Windows CE),alpha位掩碼就有效。
使用畫圖軟體繪制圖像為 bmp 格式,下面是一些例子:
這後面有一個很小的BMP單色圖 [圖片上傳失敗...(image-fd91f4-1572484665335)]
放大後顯示為:
其文件內容為(全部以16進製表示):
對其進行解析:
這後面有一個很小的 BMP 16色圖 [圖片上傳失敗...(image-887bb6-1572484665335)]
放大後顯示為:
其文件內容為(全部以16進製表示):
對其進行解析:
這後面有一個很小的 BMP 256色圖 [圖片上傳失敗...(image-78d072-1572484665335)]
放大後顯示為:
其文件內容為(全部以16進製表示):
❸ BMP是什麼文件格式,如何打開BMP文件
BMP是一種圖片格式,可以通過電腦自帶的圖片查看器或繪圖軟體打開,演示電腦系統的版本與windows7類似。
詳情請參考以下步驟:
1.首先,找到目標BMP格式的文件在您的計算機上使用滑鼠並選擇它。
❹ bmp是什麼類型的圖片,怎麼可以轉換成jpg格式的
步驟1,電腦上下載工具軟體後安裝打開,選擇左邊最上面的【格式轉換】功能,然後點擊【添加文件】藍色按鈕,將需要轉換格式的bmp圖片添加到軟體中,批量添加批量轉化更省事。
❺ bmp是什麼文件格式
bmp是一種圖片格式,可以用電腦自帶的照片查看器或畫圖軟體打開,演示電腦系統版本為windows7,具體操作請參照以下步驟。
1、首先在電腦上找到目標bmp格式的文件,用滑鼠選中。
❻ bmp是什麼格式的文件
BMP(全稱Bitmap)是Window操作系統中的標准圖像文件格式,可以分成兩類:設備相關點陣圖(DDB)和設備無關點陣圖(DIB),使用非常廣。
它採用位映射存儲格式,除了圖像深度可選以外,不採用其他任何壓縮,因此,BMP文件所佔用的空間很大。BMP文件的圖像深度可選lbit、4bit、8bit及24bit。
注意事項:
BMP文件存儲數據時,圖像的掃描方式是按從左到右、從下到上的順序。由於BMP文件格式是Windows環境中交換與圖有關的數據的一種標准,因此在Windows環境中運行的圖形圖像軟體都支持BMP圖像格式。
❼ BMP的格式是什麼
BMP(全稱Bitmap)是Window操作系統中的標准圖像文件格式,可以分成兩類:設備相關點陣圖(DDB)和設備無關點陣圖(DIB),使用非常廣。
它採用位映射存儲格式,除了圖像深度可選以外,不採用其他任何壓縮,因此,BMP文件所佔用的空間很大。BMP文件的圖像深度可選lbit、4bit、8bit及24bit。BMP文件存儲數據時,圖像的掃描方式是按從左到右、從下到上的順序。 由於BMP文件格式是Windows環境中交換與圖有關的數據的一種標准,因此在Windows環境中運行的圖形圖像軟體都支持BMP圖像格式。
典型的BMP圖像文件由四部分組成:
1:點陣圖頭文件數據結構,它包含BMP圖像文件的類型、顯示內容等信息;
2:點陣圖信息數據結構,它包含有BMP圖像的寬、高、壓縮方法,以及定義顏色等信息;
3:調色板,這個部分是可選的,有些點陣圖需要調色板,有些點陣圖,比如真彩色圖(24位的BMP)就不需要調色板;
4:點陣圖數據,這部分的內容根據BMP點陣圖使用的位數不同而不同,在24點陣圖中直接使用RGB,而其他的小於24位的使用調色板中顏色索引值。