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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 25, средняя оценка - 4.64
corri
1 / 1 / 0
Регистрация: 07.09.2009
Сообщений: 32
#1

Как прочитать заголовок бинарного файла в формате TIFF? - C++

25.10.2009, 19:45. Просмотров 3280. Ответов 15
Метки нет (Все метки)

нужно считать заголовок *.tif - файла...
открываю как поток для чтения бинарного файла вот так:

C++
1
ifstream MyFile("d:\\temp\\Bottles.tif",ios::out | ios::binary);
А дальше что??
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.10.2009, 19:45
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как прочитать заголовок бинарного файла в формате TIFF? (C++):

Как прочитать числа из бинарного файла - C++
Нужна помощь. Пытаюсь читать из бинарного файла простые числа, но ничего не читается. Файл взят тут, там же и его описание, через Hex...

Как прочитать из бинарного файла тип НЕ *char - C++
Понимаю, что ответ где-то на поверхности, но я уже задолбался искать. Гугл и все справочники, в которых я читал о функции read, приводят...

Как прочитать первые 18 байт из бинарного файла - C#
как прочитать первые 18 байт?

Получить текстовый заголовок из бинарного файла - Visual Basic
Привет форумчанам! Есть необходимость зачитать текстовый заголовок графического файла (DICOM), не загружая весь файл. Исходя из FAQ по...

Прочитать и вывести заголовок файла .bmp - C#
Здравствуйте! Необходимо прочитать файл .bmp и вывести его заголовок в следующем формате: typedef struct tagBITMAPFILEHEADER { ...

Прочитать последнюю строчку бинарного файла - C#
В бинарном файле (exe) через блокнот дописана своя последняя строчка. Подскажите, как ее прочитать в c#? string lines =...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Rififi
2359 / 1054 / 44
Регистрация: 03.05.2009
Сообщений: 2,656
25.10.2009, 19:51 #2
corri,
А дальше что??
а дальше нужно пока отложить в сторону компилятор и идти за спецификацией формата TIFF.
после изучения формата можно воспользоваться функций ifstream::read()
niXman
Эксперт C++
3134 / 1446 / 49
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
25.10.2009, 19:53 #3
Цитата Сообщение от corri Посмотреть сообщение
открываю как поток для чтения
Странно. Судя по этому:
Цитата Сообщение от corri Посмотреть сообщение
ios::out
вы открываете его для записи.
Evg
Эксперт CАвтор FAQ
17618 / 5842 / 375
Регистрация: 30.03.2009
Сообщений: 16,114
Записей в блоге: 26
25.10.2009, 19:54 #4
"ios::out" - это на запись
corri
1 / 1 / 0
Регистрация: 07.09.2009
Сообщений: 32
25.10.2009, 19:55  [ТС] #5
ой))
ну там должно быть ios::in
=)))
niXman
Эксперт C++
3134 / 1446 / 49
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
25.10.2009, 19:57 #6
corri, Если проверял на реальном файле, то ты его загубил. Проверь объем.
corri
1 / 1 / 0
Регистрация: 07.09.2009
Сообщений: 32
25.10.2009, 19:58  [ТС] #7
Ну это же картинка))
Её не жалко))
Тем более копия))
corri
1 / 1 / 0
Регистрация: 07.09.2009
Сообщений: 32
25.10.2009, 22:48  [ТС] #8
Кароч воть...
В tif-файлах заголовок - первые восемь байт...
При прочтении выдаётся 2 или 3 буквы в зависимости от варианта сжатия картинки,но это не принципиально,так как заголовок у всех файлов,естесственно,одинаковый..
В заголовке куча тэгов (около 30-40...) хранящих информацию..
Задача - достать информацию из них..
формат одного тэга примерно такой:
Код Hex Имя Описание
254 0x00FE NewSubfileType Тип данных, хранящихся в этом файле.

Если кто-то сможет хоть чем-то помочь - буду бесконечно благодарен.!!!!!
niXman
Эксперт C++
3134 / 1446 / 49
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
25.10.2009, 22:53 #9
Для начала, ознакомься с этим: http://partners.adobe.com/public/dev...tiff/TIFF6.pdf
И, наверняка поймешь, что проще скачать и использовать это: http://dl.maptools.org/dl/libtiff/
или это: http://gnuwin32.sourceforge.net/packages/tiff.htm
Evg
Эксперт CАвтор FAQ
17618 / 5842 / 375
Регистрация: 30.03.2009
Сообщений: 16,114
Записей в блоге: 26
25.10.2009, 23:02 #10
Хз, как это в си++, на Си я бы написал так:

C
1
2
3
4
5
6
7
8
9
10
11
typedef struct
{
  // Тут описываешь поля заголовка
} TiffHdr;
 
...
TiffHdr hdr;
FILE *fp;
 
fp = fopen ("...", "rb");
fread (&hdr, sizeof (hdr), 1, fp);
niXman
Эксперт C++
3134 / 1446 / 49
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
25.10.2009, 23:04 #11
По моему, это не то чем стоит заниматься для изучения языка программирования.
Evg
Эксперт CАвтор FAQ
17618 / 5842 / 375
Регистрация: 30.03.2009
Сообщений: 16,114
Записей в блоге: 26
25.10.2009, 23:05 #12
Цитата Сообщение от niXman Посмотреть сообщение
По моему, это не то чем стоит заниматься для изучения языка программирования.
Как знать... обучаться наиболее эффективно получается на "живых" примерах, в идеале - то, что тебе конкретно понадобилось. Понятное дело, что задача должна быть подъёмной, и начинать с реализации ядра ОС является слишком оптимистичным
corri
1 / 1 / 0
Регистрация: 07.09.2009
Сообщений: 32
25.10.2009, 23:06  [ТС] #13
это текущее задание в семестре на втором курсе...
niXman и EVG - Спасибо!!
большое...
niXman
Эксперт C++
3134 / 1446 / 49
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
25.10.2009, 23:07 #14
Цитата Сообщение от Evg Посмотреть сообщение
Понятное дело, что задача должна быть подъёмной
Собственно я об этом.

Цитата Сообщение от corri Посмотреть сообщение
niXman и EVG - Спасибо!!
За что?
corri
1 / 1 / 0
Регистрация: 07.09.2009
Сообщений: 32
25.10.2009, 23:15  [ТС] #15
Цитата Сообщение от niXman Посмотреть сообщение
За что?
Тебе за ссылку ,EVG - за код...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.10.2009, 23:15
Привет! Вот еще темы с ответами:

Прочитать из бинарного файла в 5 по 8 байты включительно - C++
что то непойму: Подскажите пожалуйста, как прочитать из бинарного файла байт (с 5 по 8 границы включены) * в виде потоков

Не могу прочитать с бинарного файла компонент - C++
Здравствуйте! Помогите, пожалуйста, совсем начинающему энтузиасту. Программа динамически создает определенный набор компонентов с...

Прочитать отдельные цифры из бинарного файла - C#
Помогите пожалуйста!!! C#У меня есть бинарный файл, в который записаны числа например (25 134 10...), как мне считать в отдельный массив...

Книга в формате tiff - Windows 7
В программе Scan Tailor сделал сканированные картинки формата jpg в формат tiff. Все файлы расположились в картинках (каждый лист -...


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

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

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