.cpp
#include "saveFile.h"
void GetImageParament(QImage *pImg,struct IMAGEPARAMENT *ppImgParam)
{
if (pImg->isNull()) return;
ppImgParam->nWidth = pImg->width();
ppImgParam->nHeight = pImg->height();
ppImgParam->nBitCount = pImg->bitPlaneCount();
// ppImgParam->nBytesPerLine = pImg->bytesPerLine();
ppImgParam->nBytesPerLine = (pImg->width()*ppImgParam->nBitCount+31)/32*4;
ppImgParam->nBytesPerPixel = ppImgParam->nBitCount/8;
if (ppImgParam->nBitCount<=8)
ppImgParam->nNumColors= 1 << ppImgParam->nBitCount;
else
ppImgParam->nNumColors= 0;
ppImgParam->nSize = ppImgParam->nBytesPerLine*ppImgParam->nHeight;
}
int InImage(QImage *pImg,int x,int y)
{
struct IMAGEPARAMENT P;
GetImageParament(pImg,&P);
if ((x<0)||(y<0)||(x>=P.nWidth)||(y>=P.nHeight)) return 0;
else return 1;
}
//
//
void SetRectValue(QImage *pImg,int x,int y,int Dx,int Dy,unsigned char *buf)
{
struct IMAGEPARAMENT P;
char *lp;
int i,dw,dh,x1,y1,alpha,delta,Dxb,dwb;
GetImageParament(pImg,&P);
if (P.nBitCount<8) return;
x1=x;
y1=y;
alpha=delta=0;
if (x<0) {
alpha=-x; x1=0;
}
if (y<0) {
delta=-y;