Cairo es una extensión nativa de PHP para crear y modificar gráficos usando la Biblioteca de Gráficos Cairo.
La Biblioteca de Gráficos Cairo es una biblioteca 2D escrita en C con soporte para múltiples dispositivos de salida. Actualmente los objetivos de salida soportados incluyen el Sistema X Window, Quartz, Win32, búferes de imágenes, y salida de archivos PostScript, PDF y SVG. Entornos experimentales incluyen OpenGL (mediante glitz), XCB, BeOS, OS/2, y DirectFB. La biblioteca también tiene soporte para dos tipos de manipulación de texto y diseño. La API "toy" proporciona soporte de calidad demo, y la API de glifos, aunque llena de funcionalidades, funciona mejor con una biblioteca de ayuda como pango. El soporte de entorno de fuentes incluye FreeType, Quartz, Win32, y fuentes de usuario.
Existen dos tipos de gráficos de computadora, vectores y mapas de bits. Los gráficos de mapa de bits son la representación de imágenes como una matriz de píxeles. Los gráficos de vectores usan primitivas geométricas como puntos, líneas, curvas o polígonos para representar imágenes. Las primitivas son creadas usando ecuaciones matemáticas. La Biblioteca de Gráficos Cairo toma una aproximación de vector para dibujar, permitiendo tamaños menores, hacer zoom infinito, y mover, escalar y rotar sin degradar la calidada de la imagen.
Las operaciones en la biblioteca de gráficos cairo incluyen bordear y rellenar curvas cúbicas Bézier, transformar y componer imágenes translúcidas, y renderizar texto con anti-alias. Todas las operaciones de dibujo se pueden transformar mediante cualquier transformación afín (escala, rotación, recorte y otras). Esto es similar a las operaciones de dibujo para PostScript y PDF.
La Extensión de PHP Cairo apunta a proporcionar soporte para todos los entornos de fuentes y superficies oficialmente soportados, así como exponer toda la funcionalidad disponible en cairo a los usuarios de PHP.