Загрузчик растровых изображений неправильно отображает цвет
Мне нужно преобразовать растровые изображения в текстуры. Так что для этого я пишу код c для разбора растрового изображения. Я могу анализировать растровые данные RGB и отображать их. Но цвет не подходит должным образом. Его 32-битное изображение.(ARGB)
int pixels = width * height * 4;
unsigned char* data = new unsigned char[pixels];
const int row = width * 4;
const int colomn = height;
unsigned char* datarow = new unsigned char[row];
unsigned char data1[pixels];
#if 1
fseek(f, 54,SEEK_SET);
fread(data, sizeof(unsigned char), pixels, f);
fclose(file);
#endif
for(int i = 0; i < colomn; i++) {
for(int j = 0; j < row; j++)
{
data1[j+i*row] = data[j+((colomn-i)*row)];
}
}
1 ответ
Вы, вероятно, самый ловкий, кто забывает, что изображение состоит из линий развертки и что линии развертки имеют 32-разрядную ориентацию. Таким образом, ваш простой расчет строки / столбца не работает.
См. Работа с отступами в файле BMP в C, чтобы узнать, как работать со строками сканирования.