Эта глава позволяет вам узнать, какие именно графические возможности поддерживаются в PHP.
История
Поддержка графики появилась в PHP задолго до PHP 5. Вспомним некоторые устаревшие расширения PHP, на которые ссылаются
старые книги [9].
Расширение Imlib2. Это расширение загружает, сохраняет и модифицирует изображения; рисует примитивы, градиенты и текст [13]. Оно более не поддерживается в PHP 5.
Расширение
GD. Версии GD старше gd-1.6 поддерживают формат изображений GIF, но не поддерживают PNG, тогда как версии больше gd-1.6 и меньше gd-2.0.28 поддерживают PNG, но не GIF. [2]
Замечание
Часто на более новое расширение GD2 (gd-2.x) ссылаются просто как на GD.
Расширение
SWF. Это расширение было перемещено в хранилище PECL и более не включается в поставку PHP, начиная с PHP 5.0.0. Оно предлагает возможность создавать файлы ShockwaveFlash. [2]
Расширения PHP
Расширение Exif. С помощью этого расширения вы сможете работать с мета данными изображения - например, читать мета данные фотографий, сделанных цифровыми камерами, работая с информацией, сохраненной в заголовках изображений. [2]
Расширение
GD2. Оно может использоваться для создания файлов изображений различных форматов, включая GIF, PNG, JPEG, WBMP и XPM, и манипуляций с ними, а также для вывода изображений непосредственно в броузер. Начиная с PHP 4.3, имеется встроенная версия библиотеки GD. Эта встроенная версия обладает
некоторыми преимуществами, такими как альфа-канал. [2]
Замечание
Часто на расширение
GD2 (gd-2.x) ссылаются просто как на GD.
Расширение Ming. Эта библиотека с открытым кодом позволяет создавать ролики в формате SWF (Flash). Ming поддерживает почти все возможности Flash 4, включая: формы, градиенты, растровые изображения (PNG
и JPEG), преобразования формы, текст, кнопки, акции, спрайты (клипы), MP3 поток и преобразования цвета - за исключением только лишь звуковых событий. [2]
Пакеты PEAR
PEAR предлагает почти два десятка пакетов для работы с изображениями. [3]
Image_3D позволяет обрабатывать трехмерные объекты, используя PHP.
Image_Barcode обеспечивает генерацию баркодов.
Image_Canvas - это пакет, предоставляющий общий интерфейс для рисования
изображений, делая исходный код изображения независимым от используемой библиотеки.
Image_Color управляет цветовыми данными и преобразованиями, тогда как Image_Color2 предлагает преобразование и смешивание цветов для PHP 5.
Image_GIS обеспечивает визуализацию данных GIS, а Image_IPTC извлекает, модифицирует и сохраняет данные IPTC.
Image_Graph - это пакет для отображения (числовых) данных в виде графиков/диаграмм/чертежей, а Image_GraphViz - это интерфейс для инструментов GraphViz от AT&T.
Image_Puzzle генерирует из файлов изображений кусочки головоломки.
Image_Remote извлекает информацию из удаленных файлов изображений.
Image_Text позволяет продвинутые манипуляции с текстом в изображениях.
Image_Tools - это коллекция инструментов
для манипуляций с изображениями.
Image_Transform предоставляет стандартный интерфейс для манипуляций с изображениями, используя различные библиотеки.
Сторонние приложения
ImageMagick. Это приложение с открытым кодом для манипуляций с изображениями и их отображения поддерживает широкий диапазон форматов.
[1]. ImageMagick - это приложения для создания, редактирования и составления растровых изображений. Оно может читать, привращать и записывать изображения в различных форматах (около 100). Используйте ImageMagick для переноса, переворачивания, зеркального отображения, поворота, масштабирования, разрезания и трансформации изображений,
выравнивания цветов, применения различных специальных эффектов или рисования текста, линий, многоугольников, эллипсов и кривых Безье (Bézier). [14]
Netpbm. Это пакет графических программ и программная библиотека, используемые преимущественно в мире Unix
[1]. Netpbm - это набор инструментов для манипуляций с графическими изображениями, включая конверсию изображений между различными форматами. В пакете имеется свыше 220 отдельных инструментов, включая конвертеры для более 100 форматов. Примерами такого рода манипуляций с изображениями являются: сокращение изображения на 10%; срезание верхней половины изображения;
создание зеркального изображения; создание последовательности промежуточных между двумя другими изображений и т. п. [15]
Также имеются десятки других инструментов для веба, написанные на PHP, особенно многочисленные галереи изображений и фотоальбомы - от LIMP (Lightweight Image-Browser for PHP) до Gallery. Многие из них позволяют автоматическое создание миниатюр, изменение размеров, ротацию и т. д.