Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.11.2007, 19:51   #1
Svetik
Новичок
Джуниор
 
Регистрация: 24.11.2007
Сообщений: 2
Печаль Помогите плз с bmp и jpg

Задали написать считывание и вывод на экран изображения в си++. Может быть кто-то писал? Поделитесь исходниками. Была бы очень благодарна.
Svetik вне форума Ответить с цитированием
Старый 26.11.2007, 18:53   #2
silversab
Пользователь
 
Регистрация: 26.11.2007
Сообщений: 12
По умолчанию

Для БМП





/*чтение заголовка*/
ReadFile(hFile,&BMPhead.bfType,size of (BMPhead.bfType), &buf, NULL);
ReadFile(hFile,&BMPhead.bfSize,size of (BMPhead.bfSize), &buf, NULL);
ReadFile(hFile,&BMPhead.bfReserved1 ,sizeof (BMPhead.bfReserved1), &buf, NULL);
ReadFile(hFile,&BMPhead.bfReserved2 ,sizeof (BMPhead.bfReserved2), &buf, NULL);
ReadFile(hFile,&BMPhead.bfOffBits,s izeof (BMPhead.bfOffBits), &buf, NULL);

/*чтение информационного заголовка*/
ReadFile(hFile,&BMPOsinfo,sizeof (BMPOsinfo), &buf, NULL);
WDX = BMPOsinfo.Width; /*ширина*/
HGY = BMPOsinfo.Height; /*высота*/

а дальше в зависимости цветной/чб чтение палитры
/*чтение палитры*/
for (int i=0;i<256;i++)
{
ReadFile(hFile,&mas[i][0],1, &buf, NULL);
ReadFile(hFile,&mas[i][1],1, &buf, NULL);
ReadFile(hFile,&mas[i][2],1, &buf, NULL);
}(это для ч/б)



так же читаем по порядку цвет каждого символа (3 компоненты по 1-му байту)

изображение по мому записыватся снизу вверх, слево направо

подробнее по формату здесь http://netghost.narod.ru/gff/graphic...ary/micbmp.htm
http://netghost.narod.ru/gff/graphics/formats.htm
silversab вне форума Ответить с цитированием
Старый 27.11.2007, 00:09   #3
Svetik
Новичок
Джуниор
 
Регистрация: 24.11.2007
Сообщений: 2
По умолчанию

Спасибо большое!
Только вот я не поняла:
1)Переменные в скобках объявляются в каком-то классе?
2)Как после считывания будет храниться изображение? В каком виде? Массив?
Я искала в интернете подобные программы, но они все используют библиотечки, которые прячут от меня все самое интересное)) (Мне потом изображение предстоит бинаризовать) Поэтому считать его нужно "по-честному". Если нетрудно, приведи пожалуйста более конкретный пример кода.
Svetik вне форума Ответить с цитированием
Старый 27.11.2007, 18:31   #4
silversab
Пользователь
 
Регистрация: 26.11.2007
Сообщений: 12
По умолчанию

Тут в архиве посмотри переделал со своей какой-то проги. Много мусора, но работает. На Билдере написано.
Будет работать только с 24 битным БМП.

Тут храниться не изображение а только 4 его строчки.
Так же по 4 и выводится (иначе надо сделать массив mass динамическим)
Вложения
Тип файла: rar BMP 24bpp.rar (751.3 Кб, 15 просмотров)
silversab вне форума Ответить с цитированием
Старый 27.11.2007, 19:00   #5
silversab
Пользователь
 
Регистрация: 26.11.2007
Сообщений: 12
По умолчанию

Ой, гыгы, а бинаризацию то я и писал, в домашке по обработке изображений было. Тока бинаризирует полутоновые изображения(ч/б).
Еще работает с кодировкой os/2 и RLE(хотя с rle через раз, но я и так впарил).

Ток чет неприкрепляется тут, слил сюда
http://www.axifile.com?3775725

Последний раз редактировалось silversab; 27.11.2007 в 19:07.
silversab вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск