CxImage 學習(一)基礎成員變量介紹

CxImage的一些成員變量:

class CxImage

{

...

protected:

void* pDib;            //包含文件頭,調色板等等

BITMAPINFOHEADER head; //標準的文件頭(位圖)

CXIMAGEINFO info;      //擴展了的信息

BYTE* pSelection;      //用戶選中的區域

BYTE* pAlpha;          //alpha通道

CxImage** pLayers;     //通用層

};

 

typedef struct tagCxImageInfo

{

DWORD   dwEffWidth;       //DWORD 掃描線寬

BYTE*   pImage;           //圖像位數

void*   pGhost;           //if this is a ghost, pGhost point to the body

DWORD   dwType;           //原圖像的格式

char    szLastError[256]; //出錯信息

long    nProgress;        //監視循環的次數

long    nEscape;          //跳出標誌

long    nBkgndIndex;      //GIF, PNG, MNG格式使用

RGBQUAD nBkgndColor;      //RGB三原色透明度

BYTE    nQuality;         //JPEG格式使用

long    nFrame;           //TIF, GIF, MNG使用 :實際的幀數

long    nNumFrames;       //TIF, GIF, MNG使用 :幀總數

DWORD   dwFrameDelay;     //GIF, MNG使用

long    xDPI;             //水平分辨率

long    yDPI;             //垂直分辨率

RECT    rSelectionBox;    //選中的矩形區

BYTE    nAlphaMax;        //陰影的最大不透明度

bool    bAlphaPaletteEnabled; //如果調色板中有Alpha通道則爲真

bool    bEnabled;         //打開繪圖函數

long    xOffset;

long    yOffset;

DWORD   dwEncodeOption;   //一些編碼選項

RGBQUAD last_c;           //一些優化選項

BYTE    last_c_index;

bool    last_c_isvalid;

long    nNumLayers;

DWORD   dwFlags;

} CXIMAGEINFO;

 

一個CxImage對象是一個擴展了的位圖,同時也是一組層,每個層只有在需要時纔會分配相應的緩衝區。

CxImage::pDib代表着背景圖像,CxImage::pAlpha代表着透明層,CxImage:: pSelection代表着被選中的層,被用來創建圖像處理時讓用戶感興趣的區域。

在這三個特殊層面的基礎上,你可以增加一些額外的層,這些層可以存儲在 CxImage::pLayers中。

一般說來,層是一個完整的CxImage對象。因此,你可以構造很複雜的嵌套層。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章