Сегодня мы узнаем о том, как можно создавать и изменять растровые изображения с помощью техник PHP. Сначала, маленький экскурс по понятиям.
Как уже упоминалось, мы будем работать с растровыми изображениями, это те, в которых цвет прописан к каждому пикселю. Также существуют векторные изображения, яркий пример этому SVG формат. Векторные изображения кардинально отличаются от растровых. У векторных кодируются траектории линий и геометрических фигур, поэтому такие изображения меньше занимают по размеру, но в сравнении с растровыми, они менее цветастые.
Для рисования средствами PHP, нам необходимо иметь установленную GD библиотеку, но это не так страшно как звучит. Как правило, она стандартно установлена. Ее наличие можно проверить с помощью функции php_info(). Если такова не обнаружена, посмотрите, в интернете есть масса материалов как ее скачать и установить.
Где можно применить рисование средствами PHP?
Думаю, с этим все понятно. Приведу лишь некоторые практические примеры:
- Создание графиков и диаграмм
- Реализация каптчи
- Watermark (Водяной знак к вашим изображениям)
- Превью картинок
- Автоматическая прорисовка элементов дизайна вашего сайта
Как вы понимаете это не предел ваших фантазий. Есть еще множество применений рисованию на PHP.
Ближе к делу: рисуем на PHP
Если вы хотите, чтобы PHP файл и был картинкой, в представлении браузера, то для этого вам необходимо прописать следующую header информацию:
<? header(«Content-type: image/gif»); ?>
Как вы уже поняли, image/gif – указывает на тип, расширение файла. Также можно установить: image/jpeg, image/png и так далее.
Если же вы хотите, чтобы ваше PHP приложение рисовало и сохраняло ваше творение в отдельный файл, как в случае с превью картинок, то указывать header информацию не обязательно.
Ниже приведу два примера, которые помогут понять два принципа создания изображений на PHP. Пример первый, создайте файл image.php и поместите в него следующий код :
<?php header("Content-type: image/gif"); $rgb=0xffffff;//цвет заливки $img = imagecreatetruecolor(100,100);//изображение imagefill($img, 0, 0, $rgb);//заливаем его ... imagegif($img);//готово к употреблению, публикуем //убираем после себя, чистим оперативную память imagedestroy($img); ?>
Как видите, в этом примере файл image.php, в браузере будет показываться картинкой размером 100 на 100 и залитой белым цветом.
Пример второй, создайте также файл image2.php и поместите в него следующий код:
<?php $rgb=0xff0000;//цвет заливки $img = imagecreatetruecolor(100,100);//изображение imagefill($img, 0, 0, $rgb);//заливаем его ... imagegif($img, "image.gif");//готово к употреблению, сохраняем //убираем после себя, чистим оперативную память imagedestroy($img); ?>
Как видите, мы указали всего лишь один атрибут, и убрали header информацию. Это существенно поменяло логику рисования на PHP. Теперь, запустив файл image2.php в браузере, мы создадим изображение с именем image.gif в корневой папке нашего скрипта.
Надеюсь, вам понравился пример, и вы будете реализовывать у себя на сайте всякие интересные штучки. Удачи вам в рисовании на PHP.