Идея использования палитры и индексированных цветов довольно стара. Она широко использовалась еще в программах, работающих под DOS. Цвета стандартной палитры делятся на темные (цвета фона) и светлые (цвета изображения переднего плана)
Dark Colors: Black 0 Blue 1 Green 2 Cyan 3 Red 4 Magenta 5 Brown 6 LightGray 7 | Light Colors: DarkGray 8 LightBlue 9 LightGreen 10 LightCyan 11 LightRed 12 LightMagenta 13 Yellow 14 White 15 |
Номер цвета в палитре называют атрибутом. Сам цвет может быть переопределен изменением количества RGB.
Векторная графика
Изображение строится с помощью математических описаний объектов. Простые объекты (точка, линия, окружность и др.) называются примитивами и используются для построения более сложных объектов.
Простые векторные объекты | Сложные векторные объекты |
В векторной графике основным элементом изображения является линия (при этом не важно, прямая это линия или кривая). Каждой линии можно назначить определенные атрибуты (свойства) ‑ толщину и цвет, тип линии. Например, прямая линия (отрезок) может задаваться координатами своих концов, дуга окружности – центром окружности, ее радиусом и углами. Кривые Безье – главный инструмент построения криволинейных форм во всех программах компьютерной графики – опираются на довольно сложный математический аппарат. Они могут поспорить с фракталами за честь называться самым красивым математическим открытием прошлого века.
Разумеется, в растровой графике тоже существуют линии, но там они рассматриваются как комбинации точек. Для такого представления важно использовать алгоритмы, которые обеспечат быстрое и качественное построение линии на прямоугольном растре. Обычно в этих целях используются алгоритмы Брезенхейма.
Прямую на сетке 7 на 12 пикселей можно представить разными способами, комбинируя горизонтальные отрезки длиной в один и два пикселя | ||||||||||||
Для каждой точки линии в растровой графике отводится одна или несколько ячеек памяти (чем больше цветов могут иметь точки, тем больше ячеек им выделяется). Соответственно, чем длиннее растровая линия, тем больше памяти она занимает. В векторной графике объем памяти, занимаемый линией, не зависит от размеров линии, поскольку линия представляется в виде формулы, а точнее говоря в виде нескольких параметров. Что бы мы ни делали с этой линией, меняются только ее параметры, хранящиеся в ячейках памяти. Количество самих ячеек не изменяется. Это обеспечивает сравнительно небольшие размеры файлов изображений, высокое качество трансформации объектов и независимость от разрешения печатающего устройства или монитора.
Большинство устройств вывода, включая матричные принтеры, лазерные принтеры и мониторы, являются растровыми устройствами. Это означает, что все объекты, должны быть преобразованы перед выводом в растровую форму. Для удобства обработки объекты векторной графики не преобразовываются в растровую форму вплоть до последнего момента ‑ пока не будут определены все размеры и разрешение принтера. Графические данные в векторной форме могут выводиться на различных устройствах, с различными разрешениями и размерами.
Создание на основе векторной графики фотореалистичных изображений является очень трудоемким процессом и требует особых навыков и техники. Основным преимуществом векторной графики является скорость преобразования, так как операции производятся не над изображением, а над набором векторных величин, что несоизмеримо быстрее. Этот факт используется как в системах профессионального проектирования, так и в «домашних» графических редакторах. Ярким примером является продукт фирмы Kinetix 3D Studio Max. Этот редактор применяется для создания трехмерной анимации. На сцене создаются некоторые объекты, задающиеся с помощью наборов векторов, с ними производятся необходимые операции, и только после этого, в финале, создается обычный растровый видео-файл, состоящий из растровых кадров. При этом все операции (начиная созданием объекта и заканчивая расположением источников света) над объектами даже при небольших мощностях компьютера происходят в реальном времени, что абсолютно невозможно при использовании растровой графики.
Еще одним преимуществом вектора является его независимость от масштаба. Т.е. линия толщиной в 1 миллиметр и при увеличении в 100 раз будет линией толщиной в 1 миллиметр. Это достоинство используется, например, при создании топографических карт. Векторная графика широко используется в системах инженерного проектирования (САПР), в географических инструментальных средах (ГИС), компьютерной анимации.