Страница 1 из 1

pcx в bmp

Добавлено: 23 мар 2007, 15:12
Javoronok
Здравствуйте! Как всегда с вопросами... =)
У меня такая проблема. Мне нужно конвертировать рисунок (256 цветов) формата pcx в рисунок (256 цветов) формата bmp. У меня вроде все переписывается верно, я в отладчике проверила, но картинки bmp нет, черный квадратик (я пока пытаюсь 12Х12 рисунок).
Может быть, я не правильно передаю палитру? Я делаю из 3хбайтовых групп pcx файла 4хбайтовые для bmp и всё... ну и естественно из конца файла pcx я переношу ее после заголовка в bmp. может, здесь есть какие-то особенности? Потому что я конвертировала какой-то программой свой pcx рисунок и получила в результате совсем другую палитру в bmp.
Компилирую я в Tasm'e. Программа для 8086.

Re: pcx в bmp

Добавлено: 23 мар 2007, 15:56
somewhere
Javoronok, придется тебе показать свой код конвертации - со слов вроде все верно, а что в коде написано... + bmp,pcx - посмотрю, покажу ошибку.

Re: pcx в bmp

Добавлено: 23 мар 2007, 16:24
Javoronok
Спасибо за ответ! =)

Вот мой код, не судите строго, я недавно начала заниматься ассемблером, поэтому мой код может быть О-очень неэффективным. В объявлении переменных много лишнего, все никак не удалю.. =(

Re: pcx в bmp

Добавлено: 23 мар 2007, 17:05
somewhere
Javoronok, твои ошибка следущая:

Код: Выделить всё

plaBC	dd	00010008h
В структуре BMP файла сначала идет кол-во плоскостей, а потом глубина цвета. Наверное тебе известно, что в памяти числа хранятся начиная с младшего байта, т.е. в перевернутом виде. Это значит, что в файл запишется сначала 0008h а потом 0001h. Так как просмотрщик видит, что кол-во плоскостей - 8, а глубина цвета - 1 и размер данных слижком большой для такого формата, то соответственно ничего не выводит. Лишь черный экран - габариты известны, и цветность задана неверно.

Re: pcx в bmp

Добавлено: 23 мар 2007, 18:38
Javoronok
:d Огромное спасибо!!!
И ведь правда читала об этом, но как всегда мимо ушей... =( теперь буду внимательнее! Еще раз спасибо!