bmp文件的存储结构

bmp文件的存储结构:|BITMAPFILEHEADER|
         |BITMAPINFOHEADER|
       |BITMAPCOREHEADER|   |imagedata|
            |
           / /
    |RGBQUAD[0]..........RGBQUAD[BITMAPINFOHEADER.biClrUsed-1]|
       

其中BITMAPINFOHEADER.biClrUsed(颜色表的个数,颜色用RGBQUAD表示)由BITMAPINFOHEADER.biBitCount(一个像素包含的位数)确定,关系为:
   BITMAPINFOHEADER head;
 switch (head.biBitCount){
        case 1:
            head.biClrUsed = 2; break;
        case 4:
            head.biClrUsed = 16; break;
        case 8:
            head.biClrUsed = 256; break;
        default:
            head.biClrUsed = 0;


//////////////////////////////////////
函数
/////////////////////////////////////
CxImage.AlphaFlip(),CxImage.AlphaInvert(),CxImage.AlphaMirror()的区别:
假如:
a1.............an
b1.............bn
c1.,...........cn

CxImage.AlphaFlip()是将行对换,即:C行换到A行,B行换到B行...
CxImage.AlphaInvert()是将全部元素进行~运算(位的反值,即:~0001101=1110010)
CxImage.AlphaMirror()是将列对换.即:N列换到1列,N-1列换到1+1列...... 

你可能感兴趣的:(bmp文件的存储结构)