#ifndef PLOTBITMAP_H #define PLOTBITMAP_H #include #include #include #include #include //#include //BMP文件头(14字节) typedef struct /**** BMP file header structure ****/ { unsigned short bfType; /* 类型 */ unsigned int bfSize; /* 整个bmp文件大小 */ unsigned short bfReserved1; /* Reserved */ unsigned short bfReserved2; /* ... */ unsigned int bfOffBits; /* 偏移数,位图文件头+位图信息头+调色板大小 */ } BmpHeader; //位图信息头(40字节) typedef struct /**** BMP file info structure ****/ { unsigned int biSize; /* Size of info header */ int biWidth; /* Width of image */ int biHeight; /* Height of image */ unsigned short biPlanes; /* Number of color planes */ unsigned short biBitCount; /* Number of bits per pixel */ unsigned int biCompression; /* Type of compression to use */ unsigned int biSizeImage; /* Size of image data */ int biXPelsPerMeter; /* X pixels per meter */ int biYPelsPerMeter; /* Y pixels per meter */ unsigned int biClrUsed; /* Number of colors used */ unsigned int biClrImportant; /* Number of important colors */ } BmpInfo; class PlotBitmap : public QObject { Q_OBJECT public: explicit PlotBitmap(QObject *parent = nullptr); public: //创建单色的位图 //输入参数: // bTransparent 透明显示 // crBkColor 背景颜色(在透明显示时位图中颜色为crBkColor的点将不被显示在纸样上) // iWidth 位图的宽,单位:像素 // iHeight 位图的高,单位:像素 // iStride 位图每行的字节数 // nPixFormat 位图点的格式(见GDI+中BitmapData类PixelFormat的定义) // pBmpData 位图数据(保存数据的顺序是从左到右,从上到下) //返回值: // NULL 失败 // 非NULL 新生成的位图指针 //QBitmap Create1BPPBitmap(int bTransparent,int crBkColor,int iWidth,int iHeight,int iStride,int nPixFormat,char *pBmpData); QBitmap Create1BPPBitmap(int iWidth,int iHeight,unsigned char *pBmpData); void SetUncharBit(unsigned char & dat, int index, int val); signals: public slots: }; #endif // PLOTBITMAP_H