ТОП PHP скрипт сегодня: Build QR Code Generator with PHP and Ajax

Вы Тут:

Главная ›› Книги ›› PHP 5.0 для чайников ›› Создание и вывод изображений

Создание и вывод изображений в языке PHP

Прежде чем приступить к непосредственному созданию изображений, ознакомимся с информацией о библиотеке GD. Для этого воспользуемся функцией библиотеки gd_info() - листинг 13.1.

Листинг 13.1. Вывод информации о библиотеке GD

<html>
<head>
<title> вывод информации о библиотеке GD </title>
</head>
<body>
<pre>
<?php
print_r(gd_info());
?>
</pre>
</body>
</html>

gd_info()

Функция gd_info() возвращает массив, в котором отражена информация о текущей версии библиотеки, о поддержке того или иного формата изображений и т.п.

Итак, приступим к созданию изображений. Для начала нарисуем обычный квадрат черного цвета (листинг 13.2).

Листинг 13.2. Вывод квадрата черного цвета

<?php
// посылает заголовок браузеру изображении формата PNG
header("Content-type: image/png");

// создает изображение в памяти и возвращает его идентификатор
$image = imagecreatetruecolor (100, 100);

// вывод сообщение в окно браузера
imagepng($image);

// уничтожение изображения из памяти
imagedestroy($image);
?>

Черный квадрат

С помощью функции header() мы сообщаем браузеру, что передаваемая информация является изображением формата PNG. Следующая функция imagecreateTRUEcolor() создает в памяти изображение в виде прямоугольника черного цвета с размерами, указанными в качестве входных параметров, и возвращает его целочисленный идентификатор (тип resource). Этот идентификатор имеет смысл сохранить в переменную, так как последующая работа с изображением будет происходить непосредственно с ним: например, как это делается в следующей строчке при использовании функции imagepng(), которая выводит изображение в окно браузера. В качестве входного параметра этой функции используется именно сохраненный идентификатор. И наконец, с помощью функции imagedestroy() мы уничтожаем изображение, тем самым освобождая память.

Существует альтернативный способ создания изображения с помощью его загрузки из соответствующего файла (листинг 13.3).

Листинг 13.3. Вывод изображения из файла

<php
header("Content-type: image/png");

// закрузка изображения из файла
$image = imagecreatefrompng("black_square.png");

// вывод изображения
imagepng($image);

// уничтожение изображения из пёмяти
imagedestroy($image);
?>

В данном случае мы предварительно создали изображение черного квадрата и сохранили его в файл black_square.png, который поместили в одну папку с вызываемым файлом РНР. В программе с помощью функции imagecreatefrompng() создается соответствующее изображение. Далее все повторяется как в предыдущем примере.

Для вывода изображений также существует альтернативный способ, в котором используется HTML-тег ‹img›. Создадим файл black_square.php со следующим содержанием - см. листинг 13.4.

Листинг 13.4. Создание изображения

<?php
header("Content-type: image/png");
$image = imagecreatetruecolor (100, 100);
?>

Для вставки изображения в HTML-файл в его текст добавляем следующий код:


<img src="black_square.php">

В результате выведется черный квадрат.