typedef struct{
IMAGE *fuente;
IMAGE *destino;
int saltos;
} ARGTHREAD;
ARGTHREAD values;
DWORD WINAPI ProcessThread(LPVOID arg){
int i,j,imageRows,imageCols,C,R;
PIXEL *pfte,*pdst;
PIXEL *v0,*v1,*v2,*v3,*v4,*v5,*v6,*v7;
//memcpy(arg->destino, arg->fuente,sizeof(IMAGE)-sizeof(PIXEL *));
imageRows = arg->fuente->infoheader.rows;//error here ->
imageCols = arg->fuente->infoheader.cols;//error here ->
//arg->destino->pixel=(PIXEL *)malloc(sizeof(PIXEL)*imageRows*imageCols);
i=arg->saltos;//error here ->
R=imageRows-1;
C=imageCols-1;
while(i<R){
j=1;
while(j<C){
pfte=arg->fuente->pixel+imageCols*i+j;//error here ->
v0=pfte-imageCols-1;
v1=pfte-imageCols;
v2=pfte-imageCols+1;
v3=pfte-1;
v4=pfte+1;
v5=pfte+imageCols-1;
v6=pfte+imageCols;
v7=pfte+imageCols+1;
pdst=arg->destino->pixel+imageCols*i+j;//error here ->
if(abs(blackandwhite(*pfte)-blackandwhite(*v0))>DIF ||
abs(blackandwhite(*pfte)-blackandwhite(*v1))>DIF ||
abs(blackandwhite(*pfte)-blackandwhite(*v2))>DIF ||
abs(blackandwhite(*pfte)-blackandwhite(*v3))>DIF ||
abs(blackandwhite(*pfte)-blackandwhite(*v4))>DIF ||
abs(blackandwhite(*pfte)-blackandwhite(*v5))>DIF ||
abs(blackandwhite(*pfte)-blackandwhite(*v6))>DIF ||
abs(blackandwhite(*pfte)-blackandwhite(*v7))>DIF){
pdst->red=0;
pdst->green=0;
pdst->blue=0;
}
else{
pdst->red=255;
pdst->green=255;
pdst->blue=255;
}
j++;
}
i = i+numProc;
}
}
This is how i have created my tread:
myThread = CreateThread(NULL, 0,
(LPTHREAD_START_ROUTINE)ProcessThread, &values, 0, NULL );
Im getting a lot of these errors and i cant figure it out why?
Error 8 error C2228: left of ‘.cols’ must have class/struct/union
argis avoid*pointer, you can’t get anything out of it without first casting it back to the appropriate type: