Здравствуйте! Как всегда с вопросами... =)
У меня такая проблема. Мне нужно конвертировать рисунок (256 цветов) формата pcx в рисунок (256 цветов) формата bmp. У меня вроде все переписывается верно, я в отладчике проверила, но картинки bmp нет, черный квадратик (я пока пытаюсь 12Х12 рисунок).
Может быть, я не правильно передаю палитру? Я делаю из 3хбайтовых групп pcx файла 4хбайтовые для bmp и всё... ну и естественно из конца файла pcx я переношу ее после заголовка в bmp. может, здесь есть какие-то особенности? Потому что я конвертировала какой-то программой свой pcx рисунок и получила в результате совсем другую палитру в bmp.
Компилирую я в Tasm'e. Программа для 8086.
pcx в bmp
Модератор: Andy
Javoronok, придется тебе показать свой код конвертации - со слов вроде все верно, а что в коде написано... + bmp,pcx - посмотрю, покажу ошибку.
It's a long way to the top if you wanna rock'n'roll
Спасибо за ответ! =)
Вот мой код, не судите строго, я недавно начала заниматься ассемблером, поэтому мой код может быть О-очень неэффективным. В объявлении переменных много лишнего, все никак не удалю.. =(
Вот мой код, не судите строго, я недавно начала заниматься ассемблером, поэтому мой код может быть О-очень неэффективным. В объявлении переменных много лишнего, все никак не удалю.. =(
- Вложения
-
[Расширение txt было запрещено, вложение больше недоступно.]
Javoronok, твои ошибка следущая:
В структуре BMP файла сначала идет кол-во плоскостей, а потом глубина цвета. Наверное тебе известно, что в памяти числа хранятся начиная с младшего байта, т.е. в перевернутом виде. Это значит, что в файл запишется сначала 0008h а потом 0001h. Так как просмотрщик видит, что кол-во плоскостей - 8, а глубина цвета - 1 и размер данных слижком большой для такого формата, то соответственно ничего не выводит. Лишь черный экран - габариты известны, и цветность задана неверно.
Код: Выделить всё
plaBC dd 00010008h
It's a long way to the top if you wanna rock'n'roll
:d Огромное спасибо!!!
И ведь правда читала об этом, но как всегда мимо ушей... =( теперь буду внимательнее! Еще раз спасибо!
И ведь правда читала об этом, но как всегда мимо ушей... =( теперь буду внимательнее! Еще раз спасибо!