// CDib_VC.h 头文件#ifdef _INC_DIB // 利用条件编译防止重复读入
#define _INC_DIB #include "Windows.h"class CDIB : public CObject // CDIB 类
{
private : // 私有参数
BITMAPINFO *lpbi; // 指向位图信息的指针
BYTE *lpbits; // 指向像素数据的指针
int wid; // 宽度
int hei; // 高度
int bits; // 像素总位数
int bpl; // 每行字节数
int bpp; // 美像素字节数
int colors; // 颜色数
long size; // DIB 的尺寸public : // 公有参数
CDIB(void); // CDIB 类构造函数
~CDIB(void); // CDIB 类析构函数 BYTE* DibAddress(int x, int y); // 取像素数据存数指针
DWORD pixel(int x, int y, DWORD c); // 点操作公用函数
DWORD getpixel(int x, int y); // 取像素数据
void setpixel(int x, int y, DWORD c); // 设置像素数据
void getset(int x, int y, int Dx, int Dy, BYTE *buf, int flag); // 矩形窗口操作公用函数
void getimage(int x, int y, int Dx, int Dy, BYTE *buf); // 取矩形窗口像素数据
void setimage(int x, int y, int Dx, int Dy, BYTE *buf); // 设置矩形窗口像素数据
void setwin(int x, int y, int Dx, int Dy, DWORD color); // 矩形窗口填色
void getpalette(int n, int *pr, int *pg, int *pb); // 取调色板数据
void setpalette(int n, int r, int g, int b); // 设置调色板数据 // 返回DIB参数的子程序
int GetWidth(void); // 设备无关位图的宽度
int GetHeight(void); // 高度
int GetBitCount(void); // 每像素位数
int GetBytesPerLine(void); // 每行字节数
int GetBytesPerPixels(void); // 每像素字节数
int GetColors(void); // 调色板颜色数
long GetSize(void); // 尺寸(字节数)
};DWORD BGR(int b, int g, int r); // 蓝、绿、红三分量拼装成像素数据
COLORREF DwordToClrref(DWORD c); // 像素数据装换成颜色数据
DWORD ClrrefToDword(COLORREF colorref); // 颜色数据转换成像素数据#endif //!_INC_DIB此为头文件,不知如何实现,哪有CDIB类可供参考?没搜到满意的……

解决方案 »

  1.   

    windows 程序设计 王艳平
    这书里有讲
      

  2.   

    微软的网站上有例子,搜一下DIB
      

  3.   

    精通Visual C++.net图像处理编程(周长发)整本书举得例子就是自己开发一个CDib,可以去看看。
      

  4.   

    我有周长发《VC++图像处理》,这里面有CDIB类,给我个邮箱发给你吧