Методы связанные с 2D-графикой
Графика может быть создана:
- рисование прямо на экране;
- рисование в памяти (изображение не видно) с последующим выводом изображения на экран;
- рисунок в памяти, затем сохраняется в файл (например, файл PPM);
- нарисованы и сохранены прямо в файл. Изображение невидимо, чтобы увидеть его, откройте файл (например, в графическом браузере).
2D - графики могут содержать геометрические модели ( так называемые векторной графики ), цифровые изображения (называемые растровой графики ), текст (определенный шрифт стиль и размер, цвет, положение и ориентацию), функции и математические уравнения. Эти компоненты могут быть изменены и ими можно управлять с помощью двухмерных геометрических преобразований, таких как перемещение, вращение, масштабирование.
В объектно-ориентированной графике изображение косвенно описывается объектом, который использует автоматическую визуализацию - процедуру, которая определяет цвета пикселей изображения с помощью абсолютного алгоритма. Сложные модели создаются путем комбинирования более простых объектов, как в случае объектно-ориентированного программирования.
Удобный способ создать сложное изображение - начать с пустого холста - растровой карты (это таблица пикселей - растрового или растрового изображения, если изображение цветное), заполненного сплошным цветом фона - затем «нарисовать», «нарисовать» или «вставить» простые цветные кусочки рисунка в определенном порядке. В особых случаях изображение может быть представлено как буфер кадра.
Некоторые программы устанавливают цвета пикселей непосредственно в памяти видеокарты, но большинство основывают свою работу на одной из библиотек 2D- графики. Эти библиотеки обычно реализуют следующие графические операции:
- вставка заданного изображения в заданное место на плоскости;
- написание строки символов в данном месте соответствующим шрифтом и под соответствующим углом;
- рисование простых геометрических фигур - например, треугольника с определенными тремя вершинами или круга с определенными центром и радиусом;
- рисование прямых линий и кривых, а также изогнутых дуг с помощью виртуального пера заданной толщины.
Расширенные цветовые модели
Текст, фигуры и линии отображаются с цветом, указанным заказчиком. Многие библиотеки и вкладки предоставляют цветовые градиенты, которые помогают отображать фон с градациями оттенков между цветами, эффектами затенения и т.д. Цвета пикселей также можно взять из текстуры, например, из цифрового изображения.
Закрашивание пикселя заданным цветом обычно заменяет предыдущий цвет. Однако многие системы позволяют рисовать прозрачными цветами, которые изменяют только значение предыдущего пикселя.
Два цвета также можно смешивать более сложными способами, например, выполняя над ними побитовую операцию XOR. Этот метод, известный как инверсия цвета (отрицательный), часто используется в графических интерфейсах (например, в окнах) для выделения элементов, а также в других приложениях, когда вам нужно выбрать часть чертежа или интерфейса только на мгновение - повторное выполнение операций с этими пикселями XOR восстановит исходный цвет.
Слои
Модели рисования 2-х мерной компьютерной графики не имеют возможности создавать трехмерные формы и применять эффекты, характеризующие трехмерное пространство (освещение, тени, отражения, преломления световых волн). Однако к двумерному изображению можно нанести много разных слоев, то есть что-то вроде листа бумаги или полупрозрачной или прозрачной пленки, расположенных один на другом в правильном порядке. Этот порядок обычно определяется одним числом - положением слоя или его удаленностью от наблюдателя.
Графика, содержащая слои, иногда называется 2D-графикой. Этот прием позволяет использовать те же возможности, что и в случае обработки изображений на бумаге и полупрозрачных пленках. Можно вырезать и вставлять элементы на отдельных слоях, не изменяя другие слои. По этим причинам они используются в большинстве редакторов изображений. Многослойные модели также позволяют лучше сглаживать более сложные изображения.
Слои позволяют пользователю оставлять или удалять ненужную информацию при просмотре или печати различных типов документов, таких как удаление дорог или железных дорог с карт, путей из электронных схем или рукописных заметок в документе.
Окончательное изображение создается путем «рисования» или «вставки» каждого слоя в исходное чистое изображение, следуя порядку, в котором каждый слой расположен. Каждый слой сначала визуализируется как одно изображение, а затем изображение, визуализированное таким образом, окрашивается пиксель за пикселем в целевом изображении. Если часть слоя прозрачная, то эта часть явно не окрашена. Рендеринг и рисование могут выполняться параллельно, то есть пиксель каждого слоя может быть окрашен сразу после его визуализации.
Если слой содержит более сложные геометрические объекты - текст, изогнутые линии - его можно разбить на более простые элементы, такие как отдельные буквы для текста или отрезки прямых линий. Затем они раскрашиваются отдельными слоями в правильном порядке. Однако такое решение может привести к созданию нежелательных эффектов на изображении, когда на одном пикселе придется рисовать два элемента.
