日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

BITMAPINFO结构

發布時間:2023/12/18 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 BITMAPINFO结构 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

BITMAPINFO結構

BITMAPINFO結構具有如下形式:
typedef struct tagBITMAPINFO
{
BITMAPINFOHEADER bmiHeader;
RGBQUAD bmiColors[1];
} BITMAPINFO

?

BITMAPINFO結構定義了位圖(DIB)的度量和顏色信息。

?

成員:

bmiHeader指定了一個BITMAPINFOHEADER結構,包含了有關設備相關位圖的度量和顏色格式的信息。
bmiColors指定了一個RGBQUAD或DWORD數據類型的數組,定義了位圖中的顏色。


注釋:
位圖(DIB)由兩個部分組成:

(1)一個BITMAPINFO結構,描述了位圖的度量和顏色信息;
(2)一個字節數組,定義了位圖的像素。數組中的字節被組合在一起,但是每個掃描行必須用零填補,在一個LONG邊界結束。如果高度為正的,位圖的起始位置在左下角。如果高度為負,起始位置在左上角。
(3)BITMAPINFOHEADER結構中的biBitCount成員決定了定義像素的位數以及位圖中的最大顏色數。這個成員可以是下列值之一:
·位圖是單色的,bmiColors成員包含兩個入口。位圖數組中的每一位代表一個像素。如果該位被清除,則用bmiColors表中的第一種顏色顯示該像素。如果該位被置位,則用表中的第二種顏色顯示該像素。
·位圖最多有16種顏色,bmiColors成員中包含了最多可達16個入口。位圖中的每個像素用一個4位的值來表示,該值用作顏色表的索引。例如,如果位圖中的第一個字節是0x1F,這個字節代表兩個像素。第一個像素包含了顏色表中第二種顏色,第二個像素包含了顏色表中第十六種顏色。
·位圖最多有256種顏色,bmiColors成員包含了多達256個入口。在這種情況下,數組中的每個字節代表一個像素。
·位圖最多有216種顏色。BITMAPINFOHEADER的biCompression成員必須是BI_BITFIELDS。bmiColors成員包含了3個DWORD型顏色掩碼,分別代表了每個像素中的紅,綠和藍色成分。DWORD型掩碼中的位必須是連續的,不能與其它掩碼重疊。并非像素中的所有位都必須被使用。數組中的每個WORD值代表一個像素。
·位圖最多具有224種顏色,bmiColors成員為NULL。位圖數組中的每個三字節組合分別代表像素中藍,綠紅的深度。
·位圖中最多具有232種顏色。BITMAPINFOHEADER中的biCompression成員必須是BI_BITFIELDS。bmiColors成員中包含了三個DWORD顏色掩碼,分別指定了像素的紅,綠和藍成分。DWORD掩碼中的位必須是連續的,并且不能與其它掩碼重疊。并非像素中的所有位都必須被使用。數組中的每個DWORD值代表一個像素。

BITMAPINFOHEADER結構中的biClrUsed成員指定了顏色表中實際使用的索引的數目。如果biClrUsed成員被設為0,位圖將使用biBitCount成員中指定的最大顏色數。
bmiColors表中的顏色應當按照其重要性的順序出現。另一種情況是,對于使用DIB函數,bmiColors成員可以是一個16位無符號整數的數組,指定了當前實現的邏輯調色板中的索引,而不是確切的RGB值。在這種情況下,使用位圖的應用程序必須調用Windows的DIB函數(CreateDIBitmap,CreateDIBPatternBrush和CreateDIBSection),iUsage參數應被設為DIB_PAL_COLORS。
如果位圖是一個壓縮位圖(這意味著,這種位圖的數組直接跟在一個指針所引用的BITMAPINFO頭的后面),在使用DIB_PAL_COLORS模式的時候,biClrUsed成員必須被設為偶數,以便使DIB位圖數組從DWORD邊界開始。
注意:
如果位圖被保存在文件中,或者要被傳送到另一個應用程序,bmiColors成員不能包含調色板索引。除非應用程序獨占地使用和控制位圖,位圖的顏色表中應當包含準確的RGB值。

總結

以上是生活随笔為你收集整理的BITMAPINFO结构的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。