Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Чтение BMP из файла

3.9K
07 декабря 2003 года
Easy Coder
12 / / 07.12.2003
Хочу загрузить BMP из файла, пишу вот это:

// ---
DWORD dwidth, dheight;

f = fopen(filename, "r");
fseek(f, 18, 0);
fread(&dwidth, sizeof(dw), 1, f);
fread(&dheight, sizeof(dh), 1, f);
fclose(f);

HBITMAP hBmp;
hBmp = LoadImage(0, filename, IMAGE_BITMAP, dwidth, dheight, LR_LOADFROMFILE);
// ---

Что сделать теперь, чтобы можно было получать цвет отдельных пикселей на рисунке? :???:
401
08 декабря 2003 года
Br@in RIPper
289 / / 15.02.2003
Цитата:
Originally posted by Easy Coder
Хочу загрузить BMP из файла, пишу вот это:

// ---
DWORD dwidth, dheight;

f = fopen(filename, "r");
fseek(f, 18, 0);
fread(&dwidth, sizeof(dw), 1, f);
fread(&dheight, sizeof(dh), 1, f);
fclose(f);

HBITMAP hBmp;
hBmp = LoadImage(0, filename, IMAGE_BITMAP, dwidth, dheight, LR_LOADFROMFILE);
// ---

Что сделать теперь, чтобы можно было получать цвет отдельных пикселей на рисунке? :???:



Можно использовать GetDIBits, а можно читать прямо из файла: BMP - формат несжатый и имеет простую структуру

1.8K
08 декабря 2003 года
MishaSt
170 / / 11.08.2003
Цитата:
Originally posted by Br@in RIPper


Можно использовать GetDIBits, а можно читать прямо из файла: BMP - формат несжатый и имеет простую структуру


Как сказать несжатый...А RLE сжатие? Оно может быть, а может и не быть... Кстати, что за фрукт такой, как он сжимает, кто-нить знает?

401
08 декабря 2003 года
Br@in RIPper
289 / / 15.02.2003
Цитата:
Originally posted by MishaSt

Как сказать несжатый...А RLE сжатие? Оно может быть, а может и не быть... Кстати, что за фрукт такой, как он сжимает, кто-нить знает?



н-да... RLE как-то упустил из виду. Алгоритм работы примерно такой: если подряд идут несколько пикселей одного цвета, то записывается их количество и, собственно, цвет. Например: зеленый красный красный красный желтый меняется на зеленый 3красных желтый. Подробно алгоритм описан в MSDN

1.8K
08 декабря 2003 года
MishaSt
170 / / 11.08.2003
Цитата:
Originally posted by Br@in RIPper


н-да... RLE как-то упустил из виду. Алгоритм работы примерно такой: если подряд идут несколько пикселей одного цвета, то записывается их количество и, собственно, цвет. Например: зеленый красный красный красный желтый меняется на зеленый 3красных желтый. Подробно алгоритм описан в MSDN


Так это что ж! Это они PCX спёрли, и назвали RLE его, а за свои технологии они горой стоят, вон, сказали, что хотят FAT лицензировать, а про то, что LDAP они в свою фичу переделали, и сказали, что это новинка, что, забыли?

487
10 декабря 2003 года
ddnh_bc
301 / / 16.09.2003
Цитата:
Originally posted by MishaSt

Так это что ж! Это они PCX спёрли, и назвали RLE его, а за свои технологии они горой стоят, вон, сказали, что хотят FAT лицензировать, а про то, что LDAP они в свою фичу переделали, и сказали, что это новинка, что, забыли?



Если быть до конца корректным - RLE это RLE а PCX это PCX. Просто PCX тоже использует RLE сжатие. На данный момент вообще насчитал уже около 200! разновидностей RLE используемых в основном буржуйскими game-мэйкерами. Вобщем то, в конечном итоге велосипед один - меняются только педали :D

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог