Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


Чтение заголовка графического файла




Работа с графическими файлами

Чтение графических данных

Программа чтения файла в графическом формате должна обеспечивать его открытие и чтение, определение достоверности и интерпретацию содержащейся в нем информации. Программа чтения может получать исходные данные изображения либо из файла, либо от устройства ввода (в виде потока данных), такого как сканер или буфер изображений (в видеопамяти).

Наиболее распространенными являются программы чтения двух типов: фильтр и сканер. Фильтр читает исходные данные посимвольно, собирая их по мере поступления от устройства ввода или из файла. Сканер (также называемый анализатором) обеспечивает произвольный доступ ко всем исходным данным. В отличие от фильтров, которые не позволяют вернуться назад или перескочить вперед при чтении данных, сканеры могут читать любую информацию с какого угодно места файла. Основное различие между фильтрами и сканерами заключается в объеме используемой памяти. Хотя фильтры ограничены в способе чтения данных, они требуют для своей работы небольшого объема памяти. Зато сканеры, не имеющие подобных ограничений, могут потребовать для хранения информации больших объемов памяти или дискового пространства.

 

Программы чтения двоичных данных и данных в формате ASCII

Программы чтения двоичных изображений должны читать двоичные данные, записанные в 1-, 2- и 4-байтовых словах по одной из существующих схем порядка байтов. Растровые данные можно читать большими порциями и буферизировать их в памяти для ускорения обработки (вместо того, чтобы читать их попиксельно или построчно).

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

Чтение заголовка графического файла

Программы чтения графических файлов значительно различаются в зависимости от способов хранения данных. Например, файлы PCX содержат только двоичные данные, "оканчивающиеся младшим"; файлы Encapsulated PostScript включают и двоичные, и ASCII-данные; двоичные данные файлов TIFF могут быть записаны и в порядке байтов "оканчивается старшим", и в порядке "оканчивается младшим"; файлы AutoCAD DXF состоят только из данных в формате ASCII.

Многие графические файлы, содержащие данные только в формате ASCII, могут быть проанализированы посимвольно. В этом случае для чтения файла и идентификации ключевых слов и значений обычно применяются тщательно продуманные циклы и вложенные операторы выбора (анализатора символьной информации).

При чтении большинства растровых файлов вы обнаружите, что первой порцией записанных здесь данных является заголовок. В заголовках содержится информация об атрибутах графических данных, например о высоте и ширине изображения, количестве имеющихся в нем цветов. Если в данном формате всегда сохраняются изображения одинакового размера и типа, с постоянным набором цветов, то заголовок может и не потребоваться. В таком случае информация, необходимая для обработки такого формата, должна быть просто "зашита" в программу чтения.

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


Поделиться:

Дата добавления: 2015-08-05; просмотров: 73; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.006 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты