zu swappen:
Code: Alles auswählen
const unsigned char* src = m_image->getImageData();
unsigned int width = image->getWidth();
unsigned int height = image->getHeight();
unsigned int len = width*height*4;
unsigned char* dst = new unsigned char[len];
for(int i=0; i<len; i+=4){
dst[i] = src[i+2]; //B
dst[i+1] = src[i+1]; //G
dst[i+2] = src[i]; //R
dst[i+3] = src[i+3]; //A
}
unsigned int stride = m_image->getBytesPerRow();
for(unsigned int y=0; y<m_image->getHeight(); ++y){
unsigned char* dxData = (unsigned char*)m_locked.rect->pBits + y * m_locked.rect->Pitch;
memcpy(dxData, dst + y*stride, stride);
}
Seht Ihr eine Möglichkeit? Irgendwie bekomme ich das grad nicht gebacken und erzeuge nur Buffer overflows :evil: