Введение

Cairo - это родной модуль PHP для создания и редактирования графики, использующий библиотеку Cairo Graphics.

Библиотека Cairo Graphics Library - это 2D библиотека, написанная на C с поддержкой множества устройств вывода. На данный момент поддержка включает вывод на: X Window System, Quartz, Win32, image buffers, PostScript, PDF, и вывод в SVG файл. Экспериментально поддерживается OpenGL (через glitz), XCB, BeOS, OS/2, и DirectFB. Библиотека также содержит поддержку двух типов манипуляций и управления расположения текста. "Игрушечная" API предоставляет поддержку демо-качества, и API глифов, хотя и полнофункциональную, но работающую лучше со вспомогательными библиотеками, такими как pango. Поддержка шрифтов включает: FreeType, Quartz, Win32, и пользовательские шрифты.

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

Операции в библиотеке включают штрихофку (stroking) и заполнение кубечских сплайнов Безе, трансформирование и совмещение полупрозрачных изображений и рендеринг текста с помощью фильтра atnialias. Все операции рисования могут быть трансформированы в любую афинную трансформацию (масштаб, вращение, срез (shear), и другие). Это очень схоже с операциями рисования для PostScript и PDF.

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