Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 35, средняя оценка - 4.91
Ortistx
1 / 1 / 0
Регистрация: 19.02.2011
Сообщений: 39
#1

Открытие и побитовое чтение jpeg-файла - C++

04.03.2011, 21:57. Просмотров 4787. Ответов 8
Метки нет (Все метки)

Здравствуйте уважаемые участники форума.

Прошу подсказать, как лучше справиться с задачей.
Собственно нужно открыть jpeg-файл и прочитать оттуда разную информацию, для того чтобы потом использовать ее для создания другого файла, тоже jpeg.

Хочется услышать вообще идею, как это делается. Как обычно обрабатываются файлы такого вида?

Я иду по такому пути:
1. Открываю файл типа FILE *file
2. Запихиваю весь файл побайтно в массив типа BYTE
3. Начал обрабатывать этот массив в циклах for - но мне кажется, это как-то убого + легко запутаться.

Может быть кто-то уже работал таким образом с jpeg файлом и имеет опыт?
Заранее спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.03.2011, 21:57
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Открытие и побитовое чтение jpeg-файла (C++):

какая функция осуществляет побитовое чтение файла - C++
какая функция осуществляет побитовое чтение файла подскажите кто знает ...

Чтение и сохранение JPEG файла - C++
Как прочитать файл формата .jpg, а потом обработанное(уже мной!) сохранить???

как может корректно выполняющийся оператор >> (чтение из текстового файла) негативно влиять на открытие другого файла? - C++
Друзья! Создадим два текстовых файла, f_0.txt и f_1.txt и что-нибудь в них запизаем, например в первый запихаем 1234 а во второй 5678 и...

Побитовое чтение - C++
Есть файл видео и мне известна его структура. Например структура следующая: 8 бит 1 бит 1 бит 1 бит 13 бит и т.д. Как мне...

Открытие wav файла и чтение его заголовка - C++
Надо открыть wav файл и прочитать заголовок его , компилиться но ничего не происходит #include <stdio.h> #include <string.h> ...

Побитовое чтение/запись в файл - C++
Добрый день. Мне нужно реализовать класс, который дает возможность побитовой записи/четения в/из файла. Я на самом деле не очень хорошо...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
insolent
826 / 347 / 15
Регистрация: 30.01.2009
Сообщений: 1,204
04.03.2011, 22:21 #2
Ortistx, можно воспользоваться классов Bitmap.

Добавлено через 10 минут
Почитай
Ortistx
1 / 1 / 0
Регистрация: 19.02.2011
Сообщений: 39
04.03.2011, 22:26  [ТС] #3
insolent, спасибо, но мне нужно оттуда вынуть именно таблицы квантования, dc-коэф. и другую информацию. Т.е. по сути декомпрессию производить не надо. Мне надо поиграть с этими байтами, которые лежат в файле.
alex_x_x
бжни
2447 / 1652 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
04.03.2011, 22:31 #4
сложно сказать, потому что не совсем понятно что вам нужно
может будет удобно использовать CreateMappedFile, так его даже зачитывать не надо будет, можно напрямую через память работать
Ortistx
1 / 1 / 0
Регистрация: 19.02.2011
Сообщений: 39
04.03.2011, 22:41  [ТС] #5
alex_x_x, где можно почитать про функцию CreateMappedFile, каков ее смысл?

Если не совсем понятно, что мне нужно, то постараюсь сказать другими словами.
Мне нужно понять, как работают программисты с файлами, когда читают их побайтно. Или так вообще не работают и это вчерашний день?
Суть задачи в том, что мне нужно открыть jpeg-файл и дописать туда графическую информацию.
alex_x_x
бжни
2447 / 1652 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
04.03.2011, 23:04 #6
Ortistx, http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx
удобство, что не надо зачитывать весь файл
а так ну читают файл, правят, а потом льют обратно
если вы в си пишите обязательно fopen( "path", "rb" );
Ortistx
1 / 1 / 0
Регистрация: 19.02.2011
Сообщений: 39
06.03.2011, 18:02  [ТС] #7
alex_x_x, мне как раз нужно зачитывать весь файл.

а так ну читают файл, правят, а потом льют обратно
если вы в си пишите обязательно fopen( "path", "rb" );
А читают во что? В массив типа BYTE? Или как-то по-другому?
alex_x_x
бжни
2447 / 1652 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
06.03.2011, 18:28 #8
Цитата Сообщение от Ortistx Посмотреть сообщение
alex_x_x, мне как раз нужно зачитывать весь файл.
имелось в виду, что зачитывать файл вообще не нужно

если нужна работа с байтами, то BYTE
он объявляется как unsigned char
Ortistx
1 / 1 / 0
Регистрация: 19.02.2011
Сообщений: 39
06.03.2011, 19:41  [ТС] #9
Хорошо, тогда спрошу немного по-другому.
Как обычно парсят файлы? Можете привести алгоритм?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.03.2011, 19:41
Привет! Вот еще темы с ответами:

Создание/открытие файлов, чтение из файла и запись в файл через наследование - C++
Имеется следующая иерархия классов: Файл, Типизированный файл, Текстовый файл Методы: Создать/Открыть файл, Чение из файла, Запись в...

Как реализовать открытие изображения формата jpeg без посторонних библиотек? - C++
Народ может кто то уже реализовал, и сможет помочь советом или ссылкой. Мне нужно открыть файл считать от туда матрицу изображения и...

Побитовое считывание файла - C++
Стоит задача: Дан начальный файл любого формата (mp3,avi, и т.д.) Требуется считать его содержимое и представить его в виде битовой...

Структура jpeg файла - C++
не знаю в какой раздел это писать... посему прошу прощения за неточность.. растолкуйте пожалуйста кто врубится в тему как строится zigzag...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
06.03.2011, 19:41
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru