SeeDIB.exe 顯示-每位 pel 點陣圖格式的 16 和 32 位元

文章翻譯 文章翻譯
文章編號: 94326 - 檢視此文章適用的產品。
全部展開 | 全部摺疊

在此頁中

結論

SeeDIB.exe 是範例應用程式示範如何載入,顯示,並儲存 1、 4、 8、 16、 24 及 32-位元-每像素 (裝置獨立點陣圖 (DIB) 格式。在另外 SeeDIB.exe 示範建立 DIB 顯示具有一個以上的 8-位元-每像素 8-位元-每像素的裝置上的一個最佳化的調色盤的簡單方法。

附註最小化色彩遺失,SeeDIB 使用 CreateDIBSection() 來執行未壓縮 DIB 有超過 8-位元-每像素之間的轉換。無法在 Windows NT 3.1 上使用這個函式。

其他相關資訊

下列檔案是可以從 Microsoft 下載中心 」 下載:
SeeDIB.exe
如需有關如何下載 Microsoft 支援檔案的詳細資訊,按一下 [下列面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項]:
119591如何從線上服務取得 Microsoft 支援檔案
Microsoft 已掃描這個檔案有無病毒。Microsoft 使用已張貼檔案的日期中的 [可用的最新病毒偵測軟體。檔案儲存在安全性強化的伺服器上,以避免任何未經授權的更改至檔案。 DIB,16 和 32 位元格式包含三個 DWORD 遮罩 bmiColors 成員的 BITMAPINFO 結構中。這些遮罩指定 pel 中的哪一個位元會對應到哪一種色彩。

三個遮罩必須連續位元,而且它們的順序會被假設為 R G,B (高到低的位元位元)。第一個紅色再綠色,然後藍 (RGB),也必須是三個遮罩色彩表中的順序。在這種方式程式設計人員可以指定遮罩,指示多少網底產生的每個 RGB 色彩才可供使用 CreateDIBitmap() 所建立的點陣圖。為 16-位元-每像素 DIB CreateDIBitmap() 預設 RGB555 格式。針對 32-位元-每像素 DIB CreateDIBitmap() 預設是 RGB888 的格式。

注意: 在 Windows 95 中的 [DIB 引擎支援僅 RGB555 和 RGB565 16 位元 DIB 和只 RGB888 為 32 位元 DIB。

範例

RGB555 格式遮罩會看起來與下列範例:
   0x00007C00  red   (0000 0000 0000 0000 0111 1100 0000 0000)
   0x000003E0  green (0000 0000 0000 0000 0000 0011 1110 0000)
   0x0000001F  blue  (0000 0000 0000 0000 0000 0000 0001 1111)
				
注意: 歸的 16 位元-每位 pel,[DWORD 的上層半會永遠零。

RGB888 格式遮罩會看起來與下列範例:
   0x00FF0000  red   (0000 0000 1111 1111 0000 0000 0000 0000)
   0x0000FF00  green (0000 0000 0000 0000 1111 1111 0000 0000)
   0x000000FF  blue  (0000 0000 0000 0000 0000 0000 1111 1111)
				

使用方式

使用 [16 和 32 位元的格式時有也必須設定為正確值 BITMAPINFOHEADER 結構的特定欄位:

  1. biCompression 成員必須被設定成 BI_RGB] 或 [BI_BITFIELDS。使用商業情報 RGB 表示色彩表中所包含沒有位元遮罩,且會隱含預設值 (如 16bpp RGB555) 和 32bpp 的 RGB888 格式。使用 BI_BITFIELDS 指示有色彩表中所指定的遮罩 (位元欄位)。
  2. 24-位元-每像素格式與 biClrUsed 成員會指定用來最佳化效能 Windows 調色盤的色彩資料表的大小。如果 biCompression 設為 BI_BITFIELDS,然後最佳的調色盤會緊接著三個 DWORD 遮罩。請注意最佳的色板是選擇性的許多應用程式將會忽略它。

Windows 95

在 Windows 95 如果設定 BI_BITFIELDS 旗標,然後必須指定一個色彩遮罩,且它必須是下列之一:
   Resolution    Bits Per Color    Color Mask
   -------------------------------------------------------------
   16bpp         5,5,5             0x00007c00 0x000003e0 0x0000001f
   16bpp         5,6,5             0x0000f800 0x000007e0 0x0000001f
   32bpp         8,8,8             0x00ff0000 0x0000ff00 0x000000ff
				
使用者定義的色彩遮罩,都不能使用 [Windows 95。

屬性

文章編號: 94326 - 上次校閱: 2006年11月21日 - 版次: 4.5
這篇文章中的資訊適用於:
  • Microsoft Win32 Application Programming Interface?應用於:
    • Microsoft Windows 95
    • Microsoft Windows NT Server 3.5
    • Microsoft Windows NT Server 3.51
    • Microsoft Windows NT Workstation 3.5
    • Microsoft Windows NT Workstation 3.51
    • Microsoft Windows 2000 Advanced Server
    • Microsoft Windows 2000 Server
    • Microsoft Windows 2000 Professional Edition
    • Microsoft Windows XP Home Edition (家用版)
    • Microsoft Windows XP Professional
關鍵字:?
kbmt kbdownload kbdownload kbbitmap kbfile kbgdi kbinfo kbsample KB94326 KbMtzh
機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:94326
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com