325a326 > int l = (width*3+3)&(~3); 327,329c328,330 < char* r = data + (height-i-1)*width*3 + 2; < char* g = data + (height-i-1)*width*3 + 1; < char* b = data + (height-i-1)*width*3; --- > char* r = data + (height-i-1)*l + 2; > char* g = data + (height-i-1)*l + 1; > char* b = data + (height-i-1)*l; 344a346 > int l = (width*3+3)&(~3); 346,349c348,351 < char* r = data + (height-i-1)*(width*3+1) + 2; < char* g = data + (height-i-1)*(width*3+1) + 1; < char* b = data + (height-i-1)*(width*3+1) + 0; < char* a = data + height*(width*3+1) + (height-i-1)*width ; --- > char* r = data + (height-i-1)*l + 2; > char* g = data + (height-i-1)*l + 1; > char* b = data + (height-i-1)*l + 0; > char* a = data + height*l + (height-i-1)*width;