Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
62
Добавлен:
02.05.2014
Размер:
145.92 Кб
Скачать

Растровые данные

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

Раньше термин bitmap, как правило, применялся для обозначения массива (или "карты" — map) единичных битов, в котором каждый бит соответствовал пикселю, а термины pixelmap, graymap и pixmap — для обозначения массивов многобитовых пикселей. Мы же применяем термин bitmap (растр) для обозначения массива пикселей (независимо от типа), а термины битовая глубина или пиксельная глубина — для указания размеров этих пикселей, выраженных в битах или других единицах, например в байтах. Битовая глубина определяет количество возможных цветов пикселя. Однобитовый пиксель может быть одного из двух цветов, четырехбитовый — одного из 16 и т.д. На сегодняшний день наиболее часто используется пиксельная глубина 1, 2, 4, 8, 15, 16, 24 или 32 бита (причины этого и другая информация, относящаяся к цвету, изложены в главе 2).

Источники растровых данных: растровые устройства

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

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

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

Иногда говорят о третьем источнике растровых данных — объектных данных. Сейчас это понятие все чаще применяется для обозначения данных, сохраненных совместно с использующей их программой.

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

Сегодня графика чаще всего хранится и отображается как растровая. Это стало возможным вследствие использования высокоскоростных процессоров, недорогой оперативной и внешней памяти, а также устройств ввода-вывода с высокой разрешающей способностью. Кроме того, растровая графика — это результат манипулирования изображениями, полученными от растровых устройств ввода графической информации. Растровая графика используется в прикладных программах, поддерживающих автоматизированное проектирование и трехмерные изображения, деловую графику, двух- и трехмерное моделирование, компьютерные виды искусства и анимацию, графические интерфейсы пользователя, видеоигры, обработку изображений в электронных документах (EDIP) и их анализ.

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

Эту тенденцию усиливает развитие системы World Wide Web. "Всемирная паутина" сегодня строится на базе HTML, гипертекстового языка описания документов, который позволяет программам, работающим на компьютерах удаленных пользователей, с минимальными усилиями создавать сложные изображения текстовых страниц. Сейчас целый ряд фирм-поставщиков придерживается стратегии, направленной на перепоручение задач формирования и воспроизведения изображений компьютерам удаленных пользователей (что позволяет сохранить пропускную способность сети). Пример такого подхода — создание фирмой Sun Microsystem языка программирования Java для Internet.

Типы графических форматов

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

Растровые форматы

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

Наиболее распространенные растровые форматы — это Microsoft BMP, PCX, TIFF и TGA.

Векторные форматы

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

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

Примеры наиболее распространенных векторных форматов — AutoCAD DXF и Microsoft SYLK.

Метафайловые форматы

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

Наиболее распространенные метафайловые форматы — WPG, Macintosh PICT и CGM.

Форматы сцены

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

Форматы анимации

Форматы анимации появились сравнительно недавно. Они создаются по тому же принципу, который вы использовали в своих детских играх с "движущимися" картинками. Если быстро отображать одно изображение за другим, то создается впечатление, что объекты этого изображения движутся. Самые примитивные из форматов анимации хранят изображения целиком, позволяя отображать их просто в цикле одно за другим. Чуть более усложненные форматы хранят только одно изображение и несколько цветовых таблиц для данного изображения. После загрузки новой цветовой таблицы цвет изображения меняется и создается иллюзия движения объектов. Еще более сложные форматы анимации хранят только различия между двумя последовательно отображаемыми изображениями (называемыми фреймами) и изменяют только те пиксели, которые меняются при отображении данного фрейма. Отображение со скоростью 10—15 фреймов в секунду типично для анимации мультипликационного вида. В видеоанимации для создания иллюзии плавного движения необходимо отображать 20 и более фреймов в секунду. Примерами форматов анимации могут служить TDDD и TTDDD.

Мультимедиа-форматы

Мультимедиа-форматы относительно новы, но приобретают все большее значение. Они предназначены для хранения данных различных типов в одном файле. Эти форматы обычно позволяют объединять графическую, звуковую и видеоинформацию. Примерами могут служить хорошо известные форматы RIFF фирмы Microsoft, QuickTime фирмы Apple, MPEG и FLI фирмы Autodesk, а в ближайшем будущем ожидается появление новых форматов. Различные варианты форматов мультимедиа описаны в главе 10.

Смешанные форматы

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

Гипертекст и гипермедиа

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

Гипертекстовые языки не являются форматами графических файлов, как GIF или DXF. Это, скорее, языки программирования вроде PostScript или С. Они специально предназначены для последовательной передачи потоков данных, то есть поток гипертекстовой информации можно декодировать по мере получения данных. Чтобы просмотреть гипертекстовый документ, не нужно ожидать его полной загрузки.

Термин гипермедиа обозначает сплав гипертекста и мультимедиа. Современные гипертекстовые языки и сетевые протоколы поддерживают самые разнообразные средства, включая текст и шрифты, неподвижную и динамическую графику, аудио-, видео- и объемные данные. Гипертекст обеспечивает создание структуры, которая позволяет пользователю компьютера организовывать мультимедиа-данные, отображать их и интерактивно перемещаться по ним.

Гипертекстовые и гипермедийные системы, например World Wide Web, хранят обширные информационные ресурсы в виде файлов GIF, JPEG, PostScript, MPEG и AVI. Используются и многие другие форматы.

Соседние файлы в папке Лекции по компьютерной графике