1 BGRA转BGR 2 void BgraToBgr(BYTE *bgraData,int *bgraSize) 3 { 4 for(int i=0,j=0; j<*bgraSize; i+=3,j+=4) 5 { 6 *(bgraData+i) = *(bgraData+j); 7 *(bgraData+i+1) = *(bgraData+j+1); 8 *(bgraData+i+2) = *(bgraData+j+2); 9 } 10 *bgraSize = *bgraSize/4*3; 11 } 12 13 BGR转BGRA 14 void BgrToBgra(BYTE **bgrData,int *bgrSize) 15 { 16 int bgraSize = *bgrSize/3*4; 17 BYTE *bgraData = new BYTE[bgraSize]; 18 for(int i=0, j=0; j < bgraSize; i+=3, j+=4) 19 { 20 *(bgraData+j) = *(*bgrData+i); 21 *(bgraData+j+1) = *(*bgrData+i+1); 22 *(bgraData+j+2) = *(*bgrData+i+2); 23 *(bgraData+j+3) = 0; 24 } 25 free(*bgrData); 26 *bgrData = bgraData; 27 *bgrSize = bgraSize; 28 }