Создание изображения
Создание изображения
Изображение создается с помощью функций imagecreate и imagecreatetruecolor.
Функция imagecreate создает изображение использующее палитру.
Каждой точке такого изображения присваивается номер цвета - от 0 до 255. Каждый цвет описывается в палитре. Таким образом изображение не может содержать более 256 цветов. В палитре каждый цвет описывается с помощью трех байт - один для красной компоненты (R), один для зеленой (G) и один для синей (B).
При использовании таких изображений целесообразно, в результате работы, генерировать GIF или PNG изображения.
Функция imagecreatetruecolor создает полноцветное изображение.
Каждая точка полноцветного изображения самостоятельно определяет свой цвет. Для хранения каждой точки используется как минимум три байта - один для красной компоненты (R), один для зеленой (G) и один для синей (B). Иногда добавляется четвертый байт. Он может быть добавлен как просто для повышения производительности, так и для определения прозрачности точки.
Такое изображение занимает больше места в памяти и в результате целесообразно генерировать JPEG или PNG изображение.
Обоим функциям передается два параметра - ширина и высота изображения. Обе функции возвращают идентификатор изображения:
Пример 1.Создание полноцветного изображения размером 320x240:
Для получения результата необходимо сделать еще два действия - определить, как минимум, один цвет (в изображениях использующих палитру, первый цвет станет цветом фона) и запаковать и отправить изображение.
Выделение цветов
Для выделения цвета используется функцияimagecolorallocate. В качестве параметров ей передается идентификатор изображения и три компоненты цвета (R,G и B). Значение каждой компоненты может изменятся от 0 до 255.
Пример 2.Выделение цветов
$color1=imagecolorallocate($img,0,0,0);
// Белый цвет
$color2=imagecolorallocate($img,255,255,255);
// Зеленый цвет
$color3=imagecolorallocate($img,0,255,0);
Если вы привыкли задавать цвет так, как это делается в HTML, то можете использовать следующую функцию:
sscanf($color, "%2x%2x%2x", $red, $green, $blue);
return ImageColorAllocate($img,$red,$green,$blue);
return($c);
}
$red=htmlcolor($img,"FF0000");
Сохранения изображения
После того, как изображение сформировано, необходимо передать его в понятном для браузера формате - GIF, JPEG или PNG. Для этого используются функцииimagegif,imagejpegиimagepng
Пример 3.Передача изображения в стандартный вывод в формате PNG
Если вы хотите сохранить изображение в файл, то должны передать его имя в качестве параметра функции, например:
Пример 4.Сохранение изображения в файл в формате JPEG
Примеры
Пример 5.Создания изображения, использующего палитру.
$img = imagecreate(320, 240);
$background_color = imagecolorallocate($img, 155, 255, 255);
$text_color = imagecolorallocate($img, 233, 14, 91);
imagestring($img, 2, 5, 5, "This is example", $text_color);
imagepng($img);
imagedestroy($img);
Hint:Помните! Cкрипт генерирующий изображение не может выводить никаких текстовых сообщений. Не оставляйте пустых строк перед «<?» и после«?>»
Пример 6.Создания изображения, использующего палитру.
$img = imagecreatetruecolor(320, 240);
$text_color = imagecolorallocate($img, 233, 14, 91);
imagestring($img, 2, 5, 5, "This is example", $text_color);
imagepng($img);
imagedestroy($img);
Назад | Оглавление | Далее
Оставить комментарий
Комментарии
а синтаксис imagejpeg("newimage.jpg"); скорее выглядит вот так imagejpeg($img, "newimage.jpg");
а синтаксис imagejpeg("newimage.jpg"); скорее выглядит вот так imagejpeg($img, "newimage.jpg");
Есть еще аналогичные бесплатные библиотеки.