Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Работа с изображениями в PHP.docx
Скачиваний:
5
Добавлен:
19.11.2019
Размер:
33.28 Кб
Скачать

Работа с изображениями в php

Для работы с изображениями в PHP предназначена библиотека GD.

  1. Создание изображения

Изображение создается с помощью функций ImageСreate() и ImageСreateTrueColor().

Общий вид:

ImageCreate (х, у)

Функция ImageСreate() создает пустую палитровую картинку размером точек и возвращает её идентификатор. После того, как картинка создана, вся работа с ней осуществляется через этот идентификатор.

Каждой точке такого изображения присваивается номер цвета - от 0 до 255. Каждый цвет описывается в палитре. Таким образом изображение не может содержать более 256 цветов. В палитре каждый цвет описывается с помощью трех байт - один для красной компоненты (R), один для зеленой (G) и один для синей (B).

Изображения, созданные при помощи функции ImageСreate() обычно сохраняются в формате GIF или PNG.

Функция ImageСreateTrueColor() создает полноцветное изображение.

Общий вид:

ImageCreateTrueColor(x, y)

Каждая точка полноцветного изображения самостоятельно определяет свой цвет. Для хранения каждой точки используется как минимум три байта - один для красной компоненты (R), один для зеленой (G) и один для синей (B). Иногда добавляется четвертый байт. Он может быть добавлен как просто для повышения производительности, так и для определения прозрачности точки.

Такое изображение занимает больше места в памяти. Обычно ImageCreateTrueColor() применяют для создания JPEG-изображений и PNG-изображений.

Пример 1. Создание полноцветного изображения размером 320x240:

$img= ImageCreateTrueColor(320,240);

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

  1. Определение цветов

Для выделения цвета используется функция 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);

  1. Сохранение изображения

После того, как изображение сформировано, необходимо передать его в понятном для браузера формате - GIF, JPEG или PNG. Для этого используются функции imagegif(), imagejpeg() и imagepng().

Не все браузеры определяют, что выводимая информация – изображение. Поэтому перед выводом изображения рекомендуется добавлять одну из команд (в зависимости от типа изображения):

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

или

header ("Content-type: image/jpeg");

или

header ("Content-type: image/gif");

Параметр Content-Type ("тип содержимого") - содержит обозначение типа содержимого http-ответа.

Пример 3. Передача изображения в стандартный вывод в формате PNG

<?

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

$img= ImageCreateTrueColor(320,240);

imagepng($img);

?>

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

Пример 4. Сохранение изображения в файл в формате JPEG

<?

$img= ImageCreateTrueColor(320,240);

imagejpeg($img, "newimage.jpg");

?>