基类
CDib类库功能
①DIB文件的读,写操作;
②提供位图宽度,高度,颜色数目等;
③提供有关位图占据内存空间的信息,包括:
图像数据区首地址,
颜色表首地址,
位图信息结构首地址等。
void LoadFile(CString m_fileName);-------装载BMP位图文件
BOOL SaveFile(const char *pszFilename);--存储BMP位图文件
char* GetFileName();---------------------返回位图文件名
DWORD GetSize(); ---------------------返回位图文件的大小
UINT GetWidth();-------------------------返回位图的宽度
UINT GetHeight();------------------------返回位图的高度
UINT GetNumberOfColors();----------------返回位图颜色数目
RGBQUAD* GetRGB();-----------------------返回颜色表首地址
BITMAPINFO* GetInfo();-------------------返回图像信息结构首地址
BYTE* GetData();-------------------------返回图像数据首地址
等等....
图像的显示
调色板的创建步骤
①建立一个LOGPALETTE结构和PALETTEENTRY数组;
②对数组元素进行初始化,并对成员变量进行设置;
③建立CPalette对象,并使用CreatePalette函数建立调色板对象;
④SelectPalette函数将调色板调入设备描述表;
⑤使用CDC中的RealizePalette函数使调色板生效。
创建调色板程序代码
256色图像的显示
图像的特效显示
图像的特效显示就是利用人眼的视觉特性,通过对图像**分块**(内存上的划分),然后以不同的次序显示出来。
图像的扫描:
向下扫描代码示例:
for(int j=0;j < bitmapHeight;j++)
{
::StretchDIBits(pDC->GetSafeHdc()),<