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对象。因此,你可以构造很复杂的嵌套层。

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