Основы PHP
  Что такое PHP?
  Возможности PHP
  Преимущества PHP
  История развития
  Что нового в PHP5?
  «Движок» PHP
  Переход на PHP 5.3
New Переход на PHP 5.6
  Введение в PHP
  Изучение PHP
  Основы CGI
  Синтаксис PHP
  Типы данных PHP
  Переменные в PHP
  Константы PHP
  Выражения PHP
  Операторы PHP
  Конструкции PHP
  Ссылки в PHP
  PHP и ООП
  Безопасность
  Функции PHP
  Функции по категориям
  Функции по алфавиту
  Стандартные функции
  Пользовательские
  PHP и HTTP
  Работа с формами
  PHP и Upload
  PHP и Cookies
  PHP и базы данных
  PHP и MySQL
  Документация MySQL
  Учебники
  Учебники по PHP
  Учебники по MySQL
  Другие учебники
  Уроки PHP
  Введение
  Самые основы
  Управление
  Функции
  Документация
  Математика
  Файлы
  Основы SQL
  Дата и время
  CURL
  Изображения
  Стили
  Безопасность
  Установка
  Проектирование БД
  Регулярные выражения
  Подготовка к работе
  Быстрый старт
  Установка PHP
  Установка MySQL
  Конфигурация PHP
  Download / Скачать
  Скачать Apache
  Скачать PHP
  Скачать PECL
  Скачать PEAR
  Скачать MySQL
  Редакторы PHP
  Полезные утилиты
  Документация
  PHP скрипты
  Скачать скрипты
  Инструменты
  PHP в примерах
  Новости портала
 Главная   »  Функции PHP
 
 

Функции графических изображений

Введение

PHP не ограничен только созданием HTML вывода. PHP может также использоваться для создания и управления различными форматами изображений, включая GIF, PNG, JPG, WBMP, и XPM. Для большего удобства, PHP может вывести потоки изображения непосредственно в браузер. Для того, чтобы использовать замечательную возможность создания изображения с помощью PHP, вам необходимо иметь библиотеку функций изображений GD. GD и PHP может также требовать других библиотек, в зависимости от того, с какими форматами изображений вы хотите работать.

Вы можете использовать функции изображений в PHP, чтобы получить возможность работать с JPEG, GIF, PNG, SWF, TIFF и изображениями JPEG2000.

Замечание: Читайте раздел требований о том, как развернуть возможности читать изображения, сохранять, изменять изображения и читать мета данные изображений, представленных цифровыми камерами.

Требования

Если у вас есть библиотека GD (доступна на http://www.boutell.com/gd/) у вас появится возможность создания и манипулирования изображениями.

Формат изображений, которыми вы можете управлять, зависит от версии GD, который вы устанавливаете. Версии GD старше, чем gd-1.6 поддерживают формат GIF, и не поддерживают PNG, а версии больше чем gd-1.6 и меньше чем gd-2.0.28 поддерживают PNG, но не поддерживают GIF. Поддержка формата GIF вновь стала возможной в gd-2.0.28.

Замечание: Для PHP, начиная с PHP 4.3, есть связанная версия GD lib. Эта связанная версия имеет некоторые дополнительные особенности подобно alpha blending, и должна использоваться в предпочтении к внешней библиотеке, так как ее код оптимизирован для PHP и более устойчив.

Вы можете захотеть расширить GD, чтобы иметь возможность работать с большим числом форматов изображений.

Таблица 1. Поддерживаемые форматы изображений

Формат Библиотеки для скачивания Примечания
gif   Поддерживаются только GD версий старше gd-1.6 и новее, чем gd-2.0.28. Только для чтения поддержка GIF доступна с PHP 4.3.0 связанной библиотекой GD. Поддержка записи доступна с PHP 4.3.9 aи с PHP 5.0.1.
jpeg-6b ftp://ftp.uu.net/graphics/jpeg/  
png http://www.libpng.org/pub/png/libpng.html Поддерживается только библиотеками GD версий выше, чем gd-1.6.
xpm ftp://metalab.unc.edu/pub/Linux/libs/X/!INDEX.html Вероятно, что у вас есть эта библиотека, если ваша система имеет установленную X-среду.

Вы можете желать расширить GD, чтобы иметь дело с различными шрифтами. Следующие библиотеки шрифта поддерживаются:

Таблица 2. Поддерживаемые библиотеки шрифтов

Библиотека шрифтов Ресурсы для скачивания Примечания
FreeType 1.xhttp://www.freetype.org/  
FreeType 2http://www.freetype.org/  
T1libftp://sunsite.unc.edu/pub/Linux/libs/graphics/) Поддержка шрифтов Type 1.

Если у вас есть PHP, скомпилированный с опцией --enable-exif вы можете работать с информацией, содержащейся в заголовках JPEG и TIFF изображений. Таким образом вы можете читать мета данные, генерируемые цифровыми фотокамерами. Эти функции не требуют библиотеки GD.

Установка

Для включения поддержки GD необходим PHP, сконфигурированный с опцией --with-gd[=DIR], где DIR - это базовая директория GD. Для использоваеия рекомендованной связанной версии GD библиотеки (которая сначала поставлялась с PHP 4.3.0), используйте опцию конфигурации --with-gd для компиляции. GD требует libpng и libjpeg при компиляции.

В Windows включите GD2 (php_gd2.dll) как расширение в php.ini. GD1 (php_gd.dll) была удалена из PHP 4.3.2. Также обратите внимание, что функции, использующие отображение truecolor (24 бита), например imagecreatetruecolor(), требуют библиотеки GD2.

Замечание: Для включения поддержки exif в Windows, php_mbstring.dll должен быть загружен перед php_exif.dll в php.ini.

Таблица 3. Поддерживаемые форматы изображений

Формат изображения Включение в конфигурации
jpeg-6b Для включения поддержки jpeg-6b используйте --with-jpeg-dir=DIR.
png Для включения поддержки png используйте --with-png-dir=DIR. Внимание, libpng требует zlib library, которая включается опцией --with-zlib-dir[=DIR] при компиляции.
xpm Для включения поддержки xpm используйте --with-xpm-dir=DIR. Если выбор конфигурации не способен найти требуемые библиотеки, Вы можете прибавить путь к вашим библиотекам X11.

Замечание: Когда вы компилируете PHP с libpng, вы должны использовать одинаковые версии, связанные с библиотекой GD.

Расширьте возможности GD иметь дело с различными шрифтами, определяя --with-XXXX опции при компиляции PHP.

Таблица 4. Поддерживаемые библиотеки шрифтов

Библиотека шрифтов Включение в конфигурации
FreeType 1.x Для включения поддержки FreeType 1.x используйте --with-ttf[=DIR].
FreeType 2 Для включения поддержки FreeType 2 add --with-freetype-dir=DIR.
T1lib Для включения поддержки T1lib (Type 1 fonts) add --with-t1lib[=DIR].
Родные строковые функции TrueType Для включения поддержки для родных строковых функций TrueType добавьте --enable-gd-native-ttf.

Настройка во время выполнения

Нет никаких специфических директив для изображений, но, возможно, вы заинтересуетесь директивами exif.

Типы ресурсов

Данное расширение не определяет никакие типы ресурсов.

Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение подгружается во время выполнения.

IMG_GIF (integer)

IMG_JPG (integer)

IMG_JPEG (integer)

IMG_PNG (integer)

IMG_WBMP (integer)

IMG_XPM (integer)

IMG_COLOR_TILED (integer)

IMG_COLOR_STYLED (integer)

IMG_COLOR_BRUSHED (integer)

IMG_COLOR_STYLEDBRUSHED (integer)

IMG_COLOR_TRANSPARENT (integer)

IMG_ARC_ROUNDED (integer)

IMG_ARC_PIE (integer)

IMG_ARC_CHORD (integer)

IMG_ARC_NOFILL (integer)

IMG_ARC_EDGED (integer)

IMAGETYPE_GIF (integer)

IMAGETYPE_JPEG (integer)

IMAGETYPE_PNG (integer)

IMAGETYPE_SWF (integer)

IMAGETYPE_PSD (integer)

IMAGETYPE_BMP (integer)

IMAGETYPE_WBMP (integer)

IMAGETYPE_XBM (integer)

IMAGETYPE_TIFF_II (integer)

IMAGETYPE_TIFF_MM (integer)

IMAGETYPE_IFF (integer)

IMAGETYPE_JB2 (integer)

IMAGETYPE_JPC (integer)

IMAGETYPE_JP2 (integer)

IMAGETYPE_JPX (integer)

IMAGETYPE_SWC (integer)

Примеры


Пример 1. Создание PNG в PHP

<?php

header
("Content-type: image/png");
$string $_GET['text'];
$im     imagecreatefrompng("images/button1.png");
$orange imagecolorallocate($im22021060);
$px     = (imagesx($im) - 7.5 strlen($string)) / 2;
imagestring($im3$px9$string$orange);
imagepng($im);
imagedestroy($im);

?>
Данные пример вызывается из страницы с тегом <img>, например: <img src="button.php?text=text">. Приведенный выше скрипт, имеющий имя button.php, получает строку "text" из запроса и добавляет ее к базовой картинке (накладывает оверлейный слой), которая находится в "images/button1.png" и выводит результирующее изображение. Это - очень удобный способ нарисовать новую кнопку, отображаемую каждый раз, когда вы хотите изменить текст кнопки. Этот метод позволяет создавать изображения, генерируемые динамически.

Содержание

gd_info -- Возвращает информацию о текущей установленной библиотеки GD
getimagesize -- Получает размер изображения
image_type_to_extension --  Получает расширение файла для типа изображения
image_type_to_mime_type -- Получает тип Mime для типа изображения, возвращаемого getimagesize, exif_read_data, exif_thumbnail, exif_imagetype
image2wbmp -- Выводит изображение в браузер или в файл
imagealphablending -- Устанавливает режим смешивания для изображения
imageantialias --  Должны ли использоваться функции антиалиасинга или нет
imagearc -- Рисует частичный эллипс
imagechar -- Рисует знак горизонтально
imagecharup -- Рисует знак вертикально
imagecolorallocate -- Распределяет цвет для изображения
imagecolorallocatealpha -- Распределяет цвет для изображения
imagecolorat -- Получает индекс цвета пиксела
imagecolorclosest -- Получает индекс самого близкого цвета к указанному цвету
imagecolorclosestalpha -- Получает индекс самого близкого цвета к указанному цвету + альфу
imagecolorclosesthwb --  Получает индекс цвета, который имеет оттенок, белый и темный, самый близкий к данному цвету
imagecolordeallocate -- Освобождает цвет для изображения
imagecolorexact -- Получает индекс указанного цвета
imagecolorexactalpha -- Получает индекс указанного цвета + альфу
imagecolormatch --  Делает цвета палитры изображения, более близко соответствуюшие истинной цветовой гамме
imagecolorresolve --  Получает индекс указанного цвета или его самой близкой возможной альтернативы
imagecolorresolvealpha --  Получает индекс указанного цвета + альфу или ее самая близкая возможная альтернатива
imagecolorset -- Устанавливает цвет для указанного индекса палитры
imagecolorsforindex -- Получает цвета для индекса
imagecolorstotal -- Узнает номер цветов в палитре изображения
imagecolortransparent -- Устанавливает прозрачный цвет
imageconvolution --  Применяет 3x3 матрицу скручивания, используя отделение коэффициента и смещение
imagecopy -- Копирует часть изображения
imagecopymerge -- Копирует и смешивает часть изображения
imagecopymergegray -- Копирует и смешивает часть изображения с шкалой яркости
imagecopyresampled -- Копирует и смешивает часть изображения с перевыборкой
imagecopyresized -- Копирует и изменяет размер изображения
imagecreate -- Создает новое изображение
imagecreatefromgd2 -- Создает новое изображение из файла GD2 или URL
imagecreatefromgd2part -- Создает новое изображение от данной части файла GD2 или URL
imagecreatefromgd -- Создает новое изображение из файла GD или URL
imagecreatefromgif -- Создает новое изображение из файла или URL (GIF)
imagecreatefromjpeg -- Создает новое изображение из файла или URL (JPEG)
imagecreatefrompng -- Создает новое изображение из файла или URL (PNG)
imagecreatefromstring -- Создает новое изображение из потока изображения в строке
imagecreatefromwbmp -- Создает новое изображение из файла или URL (WBMP)
imagecreatefromxbm -- Создает новое изображение из файла или URL (XBM)
imagecreatefromxpm -- Создает новое изображение из файла или URL (XPM)
imagecreatetruecolor -- Создает новое изображение уровня палитры true color (24 бита)
imagedashedline -- Рисует пунктирную линию
imagedestroy -- Уничтожает изображение
imageellipse -- Рисует эллипс
imagefill -- Заливка изображения
imagefilledarc -- Рисует частичный эллипс, и заполняет его
imagefilledellipse -- Рисует заполненный эллипс
imagefilledpolygon -- Рисует заполненный полигон
imagefilledrectangle -- Рисует заполненный прямоугольник
imagefilltoborder -- Заливка определенным цветом
imagefilter --  Применяет фильтр к изображению
imagefontheight -- Получает высоту шрифта
imagefontwidth -- Получает ширину шрифта
imageftbbox -- даёт обрамляющий бокс текста с использованием шрифтов freetype2
imagefttext -- записывает текст на изображении с использованием шрифтов FreeType 2.
imagegammacorrect -- Применяет гамма-коррекцию к изображению GD
imagegd2 -- Выводит изображение GD2 в браузер или файл
imagegd -- Выводит изображение GD в браузер или файл
imagegif -- Выводит изображение в браузер или файл
imageinterlace -- Включает или отключает чередование
imageistruecolor -- Определяет, является ли изображение изображением уровня truecolor (24 бита)
imagejpeg -- Выводит изображение в браузер или файл
imagelayereffect --  Устанавливает альфу, смешивающий флаг, чтобы использовать связанные эффекты слоя libgd
imageline -- Рисует линию
imageloadfont -- Загружает новый шрифт
imagepalettecopy -- Копирует палитру из оддного изображения в другое
imagepng -- Выводит изображение PNG в браузер или файл
imagepolygon -- Рисует полигон
imagepsbbox -- даёт обрамляющий бокс текстового прямоугольника с использованием шрифтов PostScript Type1
imagepscopyfont -- Делает копию уже загруженного шрифта для последующей модификации
imagepsencodefont -- Изменяет вектор кодировки символов шрифта
imagepsextendfont -- Расширяет или сжимает шрифт
imagepsfreefont -- Освобождает память, используемую шрифтом PostScript Type 1
imagepsloadfont -- Загружает шрифт PostScript Type 1 из файла
imagepsslantfont -- Наклоняет шрифт
imagepstext -- Прорисовывает текстовую строку поверх изображения, используя шрифты PostScript Type1
imagerectangle -- Рисует прямоугольник
imagerotate -- Поворачивает рисунок на выбранный угол
imagesavealpha --  Устанавливает флаг для сохранения информации полного альфа-канала (в противоположность единственной-цветной прозрачности) при сохранении PNG изображения
imagesetbrush -- Устанавливает изображение кисти для рисования строки
imagesetpixel -- Устанавливает одиночный пиксел
imagesetstyle -- Устанавливает стиль рисования линии
imagesetthickness -- Устанавливает толщину рисования линии
imagesettile -- Устанавливает изображение для фонового заполнения
imagestring -- Рисует горизонтальную строку
imagestringup -- Рисует вертикальную строку
imagesx -- Получает ширину изображения
imagesy -- Получает высоту изображения
imagetruecolortopalette -- Конвертирует изображение true color в палитровое изображение
imagettfbbox -- Даёт обрамляющий текста с использованием шрифтов TrueType
imagettftext -- Записывает текст на изображение с использованием шрифтов TrueType
imagetypes -- Возвращает типы изображений, поддерживаемые данной версией РНР
imagewbmp -- Выводит изображение формата WBMP в браузер или файл
imagexbm --  Выводит изображение формата XBM в браузер лил файл
iptcembed -- Внедряет двоичные IPTC-данные в JPEG-изображение
iptcparse -- Разбирает двоичный IPTC-блок http://www.iptc.org/ в отдельные тэги.
jpeg2wbmp -- Конвертирует изображение формата JPEG в формат WBMP
png2wbmp --  Конвертирует изображение формата PNG в формат WBMP
 
 
 Функции по алфавиту 
   Содержание   
 Функции по категориям 
Есть еще вопросы или что-то непонятно - добро пожаловать на наш  форум портала PHP.SU 
 

 
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS