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

分享

Icon圖標(biāo)文件格式分析

 univasity 2014-07-13

'-------------完整的文件構(gòu)成
+---
目錄段
    +------
目錄頭
    idreserved As Integer       '; word   // reserved (must be 0)
:保留字必須是0
    idtype As Integer         '; word     // resource type (1 for icons)
:資源類型,,1是圖標(biāo),,2就是光標(biāo)了?
    idcount As Integer          '; word      // how many images?
:有幾個圖像
    +-------------
目錄索引1
    identries(0) As icondirentry
    +-------------
目錄索引2
    identries(1) As icondirentry
    +-------------
目錄索引x最大為32767
    identries(X) As icondirentry
+---
圖像數(shù)據(jù)段
    +--------------
圖像1
    icheader As bmih
    iccolors(0 to 15) As rgbq '16

    icxor(0 to 511) As Byte   '32*32
    icand(0 to 127) As Byte   '32*32
    +--------------
圖像2
    .
    +--------------
圖像x最大為32768   
    .
'--------------END file.

 

ICON文件結(jié)構(gòu)

目錄頭  6字節(jié)

 

ICONDIRENTYR(0)  16字節(jié)

索引段

ICONDIRENTYR(1)  16字節(jié)

ICONDIRENTYR(2)  16字節(jié)

………

ICONIMAGE

圖像數(shù)據(jù)段

ICONIMAGE

………

 

 

1.1目錄索引結(jié)構(gòu)(ICONDIRENTRY結(jié)構(gòu))

typedef struct
{
byte        bwidth;          // width, in pixels, of the image
byte        bheight;         // height, in pixels, of the image
byte        bcolorcount;     // number of colors in image (0 if >=8bpp)
byte        breserved;       // reserved ( must be 0)
word        wplanes;         // color planes
word        wbitcount;       // bits per pixel
dword       dwbytesinres;    // how many bytes in this resource?
dword       dwimageoffset;   // where in the file is this image?
} icondirentry, *lpicondirentry

 

bwidth:圖像寬度,以象素為單位,。一個字節(jié)
bheight
:圖像高度,,以象素為單位。一個字節(jié)
bcolorcount
:圖像中的顏色數(shù)(如果是>=8bpp的位圖則為0
breserved
:保留字必須是0
wplanes
:為目標(biāo)設(shè)備說明位面數(shù),,其值將總是被設(shè)為1
 wbitcount
:每象素所占位數(shù),。
 dwbytesinres
:這份資源所占字節(jié)數(shù)
 dwimageoffset
:圖像數(shù)據(jù)(iconimage)起點偏移位置。

 

2.1圖像數(shù)據(jù)段

typdef struct
{
BitmapInfoHeader   icheader;      // dib header
RGBQuad         iccolors[1];   // color table
byte            icxor[1];      // dib bits for xor mask
byte            icand[1];      // dib bits for and mask
} iconimage, *lpiconimage;

 

icheader:其中的icheader采用的是DIB結(jié)構(gòu)的BMP文件(常用)的位圖信息頭的定義類型(參見BMP文件結(jié)構(gòu)分析),,
iccolors
:色彩表
icxorDIB結(jié)構(gòu)的圖像數(shù)據(jù),。XOR掩碼?
icand
DIB結(jié)構(gòu)的圖像數(shù)據(jù),。AND掩碼

2.2 DIB位圖信息頭(BITMAPINFOHEADER

typedef struct tagBITMAPINFOHEADER { /* bmih */
DWORD biSize;     // Bitmap Header Size
LONG biWidth;     //Widdth
LONG biHeight;    //Height
WORD biPlanes;    //Planes
WORD biBitCount; // Bits Per Pixel,
DWORD biCompression;     // Compression
DWORD biSizeImage;   //;Bitmap Data Size
LONG biXPelsPerMeter;    // HResolution
LONG biYPelsPerMeter;    // VResolution
DWORD biClrUsed;     //Colors
DWORD biClrImportant;    // Important Colors
} BITMAPINFOHEADER;

 

biSize BITMAPINFOHEADER段尺寸,。*
biWidth
:位圖的寬度,以象素為單位*
biHeight
:位圖的高度,,以象素為單位*
biPlanes
: 位圖的位面數(shù)(注:該值將總是1*
biBitCount
:每個象素的位數(shù)*
   biCompression
:壓縮說明:
   biSizeImage
:用字節(jié)數(shù)表示的位圖數(shù)據(jù)的大小。該數(shù)必須是4的倍數(shù)*
   biXPelsPerMeter
:用象素/米表示的水平分辨率
   biYPelsPerMeter
:用象素/米表示的垂直分辨率
   biClrUsed
:位圖使用的顏色數(shù),。如8-比特/象素表示為100h或者 256.
   biClrImportant
:指定重要的顏色數(shù),。當(dāng)該域的值等于顏色數(shù)時(或者等于0時),,表示所有顏

2.2色彩表(RGBQUAD)

typedef struct tagRGBQUAD { /* rgbq */
BYTE rgbBlue;
BYTE rgbGreen;
BYTE rgbRed;
BYTE rgbReserved;
} RGBQUAD;

 

 rgbBlue: 指定藍(lán)色強度
rgbGreen
:指定綠色強度
rgbRed
: 指定紅色強度
rgbReserved
保留,設(shè)置為0

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

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多