конвертация BLOAD в массив

Предыдущая тема Следующая тема Перейти вниз

конвертация BLOAD в массив

Сообщение  Andrew в Вс Мар 15, 2009 11:00 pm

Как использовав функцию BLoad можно сделать 2х мерный\одномерный массив содержащий цвета из загружаемой картинки ?

ИЛИ

Сколько байт занимает заголовок bmp, чтобы можно было этот заголовок выбросить, и дальше как из файла считывать байты, содержащие цвета ?

Andrew

Сообщения : 45
Дата регистрации : 2008-09-23
Возраст : 29
Откуда : Киев

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: конвертация BLOAD в массив

Сообщение  tux в Пн Мар 16, 2009 12:55 pm

для работы с изображениями я бы порекомендовал поерзать библиотеку freeimage, заголовочные файлы в FB от нее есть, загружает она все подряд и можно без проблем получить битовый образ. А вот с BMP-шкой не все так просто, размер заголовка у не указывает какойто байт вначале, но обычно он вродебы 54 байта, образ там хранится построчно в формате BGR и начиная с нижней строчки к верхней, помимио этого иногда в строчках добавляются пустые байты, для какогото там выравнивания.
avatar
tux

Сообщения : 365
Дата регистрации : 2008-04-06
Возраст : 29
Откуда : Сибирь

Посмотреть профиль http://tux.nsk.ru/

Вернуться к началу Перейти вниз

Re: конвертация BLOAD в массив

Сообщение  Andrew в Вт Мар 17, 2009 12:38 am

Не хотелось бы использовать сторонние библиотеки, поскольку суть написания моего простейшего 2д движка заключается как раз в том, что бы написать все с нуля.

Пытался разобраться в архитектуре bmp, в инете ничего путного не нашел, прибегал к дико ацким методам =) Заранее знал, что bmp записывается без всяких ухищрений, типа кодировки и т.д. а просто в байтах. Но в картинке 1024*768 должно быть (без заголовка) 2359296 байт, а с ним 2359350 байт, т.е. лишние 54 байта, как и ты говорил. Но в картинке 256*256 уже лишние не 54б а всего 50б, как раз из-за этого выравнивания. но вот собственно "а что там выравнивать?... картинка кратна 2, и квадратная..." Т.е. размер заголовка варьируется, что очень плохо для моего случая. Но вот зачем было писать в bmp типа BGR а не RGB =) тут я не пойму..но ладно, это не страшно. где-то мелькал раньше на буржуйских форумах такой вопрос, но как всегда в нужную минуту найти не удается... никто не встречал ?

Andrew

Сообщения : 45
Дата регистрации : 2008-09-23
Возраст : 29
Откуда : Киев

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: конвертация BLOAD в массив

Сообщение  tux в Вт Мар 17, 2009 9:15 pm

есть еще предложение, но я его и сам побаиваюсь, мона глянуть исходник компилятора, где реализуется BLOAD, и взять готовый исходник на FB, тока вот найти бы его еще там...
avatar
tux

Сообщения : 365
Дата регистрации : 2008-04-06
Возраст : 29
Откуда : Сибирь

Посмотреть профиль http://tux.nsk.ru/

Вернуться к началу Перейти вниз

Re: конвертация BLOAD в массив

Сообщение  Andrew в Вс Мар 29, 2009 12:33 am

Нашел! Может кому пригодится в будущем.
http://www.freebasic.net/forum/viewtopic.php?p=20645&sid=24d783db18a026b6753dba92d2b3207c

Andrew

Сообщения : 45
Дата регистрации : 2008-09-23
Возраст : 29
Откуда : Киев

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: конвертация BLOAD в массив

Сообщение  Спонсируемый контент


Спонсируемый контент


Вернуться к началу Перейти вниз

Предыдущая тема Следующая тема Вернуться к началу


 
Права доступа к этому форуму:
Вы не можете отвечать на сообщения