Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебник Емельянов.doc
Скачиваний:
12
Добавлен:
03.11.2018
Размер:
3.25 Mб
Скачать

Графические данные и палитра

Традиционно графические данные подразделяются на два типа: вектор­ные и растровые.

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

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

Количество возможных цветов (глубину цвета) пиксела определяет би­товая глубина. Однобитовый пиксел может быть одного из двух цветов, четырехбитовый - одного из 16 и т. д. На сегодняшний день, в основном, используется глубина цвета в 24 и 32 бита (возможны варианты в 1, 2, 4, 8, 15,16 бит).

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

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

Наиболее распространенным способом передачи цвета является модель RGB. В этой модели основными являются цвета: красный (Red), зеленый (Green) и синий (Blue). Цвет задается посредством RGB-триплета. Каждый пиксел физически определяется триадой веществ. Обычно используются оксиды: цинка (зеленый), меди (синий), европия (красный). При сохранении цветовых данных в файле триплет записывают в виде чисел. Если глубина

19

цвета равна 24 битам, например, по 8 бит на каждый основной цвет, то диа­пазон значений цвета для каждого байта равен 0...255. Причем, чаще всего, принимают, что пикселные значения (0, 0, 0) соответствуют черному цвету, (255, 255, 255) - белому, (255, 0, 0) - красному, а, например, триплет (127, 127, 127) определяет один из вариантов серого. Таким образом, теоретически данная схема описывает около 16,7 млн составных цветов.

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

Значения триплета непосредственно передаются устройству отображе­ния. При записи этих значений в файл может осуществляться кодировка с помощью палитр. Палитра представляет собой одномерный массив цвето­вых величин. С помощью палитры цвета задаются косвенно посредством указания их позиций (индексов) в массиве. Это позволяет сократить объем файлов. Например, 4-битовые пикселные данные могут использоваться для представления изображений, содержащих 16 цветов. Определив для этих 16 цветов палитру, данные в файл1 записываются в виде чисел из диапазона 0...15. Программа визуализации, читая данные из файла, перекодирует их в соответствии с палитрой в триплеты, которые и используются для окраши­вания точек на устройстве вывода. При глубине цвета 24 и выше палитра не используется.

В настоящее время часто используется глубина цвета в 32 бита. Данный режим работы графического устройства похож на режим в 24 бита, но в нем добавлен четвертый 8-битовый канал (альфа-канал), содержащий дополни­тельную информацию о прозрачности каждой точки. Существует режим pfCustom, предназначенный для реализации программистом собственных конструкций.

НЕКОТОРЫЕ ОБЩИЕ СВОЙСТВА КОМПОНЕНТОВ

Рассмотрим некоторые общие свойства компонентов и формы. Эти свойства задаются с помощью страницы Properties инспектора объектов или программным путем.

Align - задает тип выравнивания компонента внутри формы (по умолча­нию равно alNone).

Caption - заголовок компонента (надпись на компоненте). Могут ис-пользоватья русские буквы.

Color - цвет фона для формы или компонента. Цвет можно задавать при помощи обозначений, например зеленый - clGreen, или шестнадцатеричных констант (зеленый - $008000).

Height - вертикальный размер в пикселах.

Enabled - если это свойство равно True, то компонент реагирует на дей­ствия пользователя (сообщения мыши, клавиатуры), иначе эти сообщения игнорируются.

Hint - задает текст (подсказка), который будет отображаться при нахож­дении курсора в области компонента.

Left - горизонтальная координата левого угла компонента относительно формы в пикселах. Для формы это значение указывается относительно экра­на дисплея.

Name - задает имя компонента (идентификатор), которое будет исполь­зоваться в программе.

ParentColor - если значение этого свойства равно True, то компонент будет отображаться цветом родительского компонента, иначе используется собственное свойство Color.

TabOrder - задает порядок получения компонентами на форме фокуса при нажатии клавиши Tab. По умолчанию этот порядок определяется после­довательностью размещения компонентов на форме. Для изменения этого порядка необходимо явно изменить значения свойства TabOrder компонен­тов. Следует отметить, что компонент, значение TabOrder которого равно 0, получает фокус при отображении формы. Использование свойства TabOrder зависит от значения свойства TabStop.

TabStop - это свойство позволяет указать, может ли компонент получать фокус или нет.

Тор - вертикальная координата левого верхнего угла интерфейсного элемента относительно формы.

Visible - определяет видимость компонента.

Width - горизонтальный размер интерфейсного элемента или формы в пикселах.

Сведения о перечисленных выше свойствах помогут сориентироваться при первом знакомстве со средой Delphi.