久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

Visual C++中DDB與DIB位圖編程全攻略 (3)

 傷心莫哭 2010-11-07
4. DIB位圖編程

  4.1位圖文件格式

  先來分析DIB位圖文件的格式,。位圖文件分為四部分:

 ?。?)位圖文件頭BITMAPFILEHEADER

  位圖文件頭BITMAPFILEHEADER是一個結(jié)構(gòu)體,長度為14字節(jié),,定義為:

typedef struct tagBITMAPFILEHEADER
{
 WORD bfType; //文件類型,,必須是0x424D,即字符串"BM"
 DWORD bfSize; //文件大小,,包括BITMAPFILEHEADER的14個字節(jié)
 WORD bfReserved1; //保留字
 WORD bfReserved2; //保留字
 DWORD bfOffBits; //從文件頭到實際的位圖數(shù)據(jù)的偏移字節(jié)數(shù)
} BITMAPFILEHEADER;

 ?。?)位圖信息頭BITMAPINFOHEADER

  位圖信息頭BITMAPINFOHEADER也是一個結(jié)構(gòu)體,長度為40字節(jié),,定義為:

typedef struct tagBITMAPINFOHEADER
{
 DWORD biSize; //本結(jié)構(gòu)的長度,,為40
 LONG biWidth; //圖象的寬度,單位是象素
 LONG biHeight; //圖象的高度,,單位是象素
 WORD biPlanes; //必須是1
 WORD biBitCount;
 //表示顏色時要用到的位數(shù),,1(單色), 4(16色), 8(256色), 24(真彩色)
 DWORD biCompression;
 //指定位圖是否壓縮,有效的值為BI_RGB,,BI_RLE8,,BI_RLE4,BI_BITFIELDS等,,BI_RGB表示不壓縮
 DWORD biSizeImage;
 //實際的位圖數(shù)據(jù)占用的字節(jié)數(shù),,即 biSizeImage=biWidth’ × biHeight,biWidth’是biWidth 按照4的整倍數(shù)調(diào)整后的結(jié)果
 LONG biXPelsPerMeter; //目標(biāo)設(shè)備的水平分辨率,單位是每米的象素個數(shù)
 LONG biYPelsPerMeter; //目標(biāo)設(shè)備的垂直分辨率,,單位是每米的象素個數(shù)
 DWORD biClrUsed; //位圖實際用到的顏色數(shù),,0表示顏色數(shù)為2biBitCount
 DWORD biClrImportant; //位圖中重要的顏色數(shù),0表示所有顏色都重要
} BITMAPINFOHEADER;

 ?。?)調(diào)色板Palette

  調(diào)色板Palette針對的是需要調(diào)色板的位圖,,即單色、16色和256色位圖,。對于不以調(diào)色板方式存儲的位圖,,則無此項信息。調(diào)色板是一個數(shù)組,,共有biClrUsed個元素(如果該值為0,,則有2biBitCount個元素)。數(shù)組中每個元素是一個RGBQUAD結(jié)構(gòu)體,,長度為4個字節(jié),,定義為:

typedef struct tagRGBQUAD
{
 BYTE rgbBlue; //藍色分量
 BYTE rgbGreen; //綠色分量
 BYTE rgbRed; //紅色分量
 BYTE rgbReserved; //保留值
} RGBQUAD;

  (4)實際的位圖數(shù)據(jù)ImageDate

  對于用到調(diào)色板的位圖,,實際的圖象數(shù)據(jù)ImageDate為該象素的顏色在調(diào)色板中的索引值,;對于真彩色圖,圖象數(shù)據(jù)則為實際的R,、G,、B值:

  a.單色位圖:用1bit就可以表示象素的顏色索引值;

  b.16色位圖:用4bit可以表示象素的顏色索引值,;

  c. 256色位圖:1個字節(jié)表示1個象素的顏色索引值,;

  d.真彩色:3個字節(jié)表示1個象素的顏色R,G,,B值,。

  此外,位圖數(shù)據(jù)每一行的字節(jié)數(shù)必須為4的整倍數(shù),,如果不是,,則需要補齊。奇怪的是,,位圖文件中的數(shù)據(jù)是從下到上(而不是從上到下),、從左到右方式存儲的。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點擊一鍵舉報,。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多