Hi EveryOne,
I am having problem oprating bitwise right shift, which is >> on unsigned char *. Do you know why here is my code...
Please help !!!!!!!!!!!!!!
Code:
DWORD ImageSize = ((DWORD)bmfh.bfSize-sizeof(BITMAPFILEHEADER));
LPBYTE pImage = (LPBYTE)malloc(ImageSize);
memcpy(pImage,pbmih,ImageSize);
if(!pImage){
return FALSE;
}
/*int index = 0;
rgb_picture image;
for (index=0; index<256; index++)
{
/******* Problem starts right here**********/
/*********pImage >>= 2 ***************/
// get the red component
strcpy(reinterpret_cast<char *>(&image.palette[index].red),reinterpret_cast<char *>(pImage >>= 2));
// get the green component
strcpy(reinterpret_cast<char *>(&image.palette[index].green),reinterpret_cast<char *>(pImage >>= 2));
// get the blue component
strcpy(reinterpret_cast<char *>(&image.palette[index].blue),reinterpret_cast<char *>(pImage >>= 2));
} // end for index
FILE *fpr,*fpg,*fpb;
if (((fpr=fopen("red","wb"))==NULL) || ((fpg=fopen("green","wb"))==NULL) || ((fpb=fopen("blue","wb"))==NULL))
return -1;
if (fwrite(((void *)image.palette[index].red),256,1,fpr)!=1)
return -1;
if (fwrite(((void *)image.palette[index].green),256,1,fpg)!=1)
return -1;
if (fwrite(((void *)image.palette[index].blue),256,1,fpb)!=1)
return -1;*/