суббота, 3 апреля 2010 г.

Ёбаная хуйня, блять, сука, ебануться, да ну нахуй так жить.
Кароч проект по графике, нужно уметь читать бмп файлы и сохранять их. Сделал чтение, вроде все в память записалось. Отображать пока не научился в программку картинку, поэтому проверить, правильно ли я сделал чтение, решил следующим образом: сохранить то, что прочитал, в другой bmp файл и сделать на них fc из far.
lena.bmp читается в мой классец, потом сохраняется в файл t.bmp. Делаю fc lena.bmp t.bmp > 1 и 2 сука байта различаются, в лене они идут C4 0E 00 00 C4 0E, а вот в t.bmp они какого то хуя решили записаться C4 0D 00 00 C4 0D Ояебу.
Дальше интереснее. Открываю в своей проге t.bmp и тут же сохраняю его в tt.bmp, различий вообще нет. Дебагаю все три файла и смотрю значение переменных, в которых лежат эти байты: БЛЯТЬ, НЕТ СЛОВ. ОНИ одинаковые. Суууука. Ненавижу. Вот че за бред вообще. И потом, нахуй в bmp файле в хедерах делать поля по 2 байта, ну ёёёбана, неужели 4 нельзя было сделать? (косяк именно с переменными, которые весят 2 байта, все остальные там по 4 байта и с ними все заебись). Экономисты блять, охуенно просто, 4 байта блять сэкономили на файлах, которые весят по метру, руки бы оторвал тем, кто это выдумал, пиздюки. ААААААААааааааааргх.
Потерял 3 часа на это гавно, сдача через часов 30. Это упасть и не встать просто.

2 комментария:

Alexander комментирует...

Это ты про

uint16 nplanes;
uint16 bitspp;

Что такое "цветовые плоскости", я в душе не ебу, но раз там всегда стоит число 1 -- это, наверное, не так важно, что это такое :)

Ну а про bits per pixel -- как-то стрёмно выделять 4 байта на значение "количество бит на пиксель" -- чо, 4 миллиарда бит на пиксель может быть, что ли? :)

Ну и вообще не забывай, что когда формат bmp придумывали, int ещё не был четырёхбайтным-почти-везде.

Renascence комментирует...

Сделали бы 1 байт тогда, тоже вряд ли бы проблемы возникли) и для кратности 4 байтам в конец мусора бы 2 байта добавили=)