Функция “imagecreate” создаёт и возвращает изображение. Первый аргумент функции – ширина изображения, а второй – высота. Функция “imagecolorallocate” создаёт и возвращает цвет, используемый в изображении. Первый аргумент этой функции – изображение. Второй, третий и четвёртый аргументы – красная, зелёная и синяя составляющие цвета. Они могут быть от 0 до 255. Функция “imagefilledrectangle” рисует на изображении закрашенный прямоугольник. Первый аргумент – изображение, второй и третий – горизонтальная и вертикальная координаты левого верхнего угла прямоугольника, а четвёртый и пятый – координаты правого нижнего угла, шестой аргумент – цвет прямоугольника. Горизонтальные координаты отсчитываются слева на право, а вертикальные – сверху вниз. Левый верхний угол имеет нулевые координаты (0, 0). Функция “imagejpeg” выводит изображение в формате JPEG в файл или веб-браузер. Первый аргумент – изображение, второй – файл. Если второй аргумент не указывается, то происходит вывод изображения в веб-браузер. Функция “imagedestroy” удаляет изображение. Её аргумент – изображение.
Пример 1
1 2 3 4 5 6 7 8 9 10 11 |
<?php $i = imagecreate(100, 100); $k = imagecolorallocate($i, 255, 0, 0); imagefilledrectangle($i, 0, 0, 99, 99, $k); $z = imagecolorallocate($i, 0, 255, 0); imagefilledrectangle($i, 25, 25, 75, 75, $z); header("Content-Type: image/jpeg"); imagejpeg($i); imagedestroy($i); exit; ?> |
Пример выводит:
Команда header(“Content-Type: image/jpeg”); указывает веб-браузеру, что выводится JPEG изображение. Команда exit; завершает выполнение скрипта.
Функция “getimagesize” возвращает массив с размерами и форматом изображения. Её аргумент – файл с изображением. Элемент возвращаемого массива с индексом 0 содержит ширину изображения, с индексом 1 – высоту изображения, а с индексом 2 – номер формата изображения. Номер формата 1 – GIF, 2 – JPEG, 3 – PNG. Функции “imagecreatefromgif”, “imagecreatefromjpeg” и “imagecreatefrompng” загружают и возвращают изображения из файла форматов GIF, JPEG и PNG соответственно. Их аргумент – имя файла. Функция “imagecreatetruecolor” создаёт и возвращает изображение с максимальным качеством. Первый аргумент этой функции – ширина изображения, второй – высота изображения. Функция “imagecopyresampled” копирует в изображение – первый аргумент, из изображения – второго аргумента, в левый верхний угол с координатами в третьем и четвёртом аргументах, из левого верхнего угла с координатами в пятом и шестом аргументах, в прямоугольник с шириной и высотой в седьмом и восьмом аргументах, из прямоугольника с шириной и высотой в девятом и десятом аргументах.
Пример 2
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
<?php $file = "picture.jpg"; $info = getimagesize($file); switch($info[2]) { case 1: $img = imagecreatefromgif($file); break; case 2: $img = imagecreatefromjpeg($file); break; case 3: $img = imagecreatefrompng($file); break; } $pic = imagecreatetruecolor(100, 100); imagecopyresampled($pic, $img, 0, 0, 0, 0, 100, 100, $info[0], $info[1]); imagejpeg($pic, "new.jpg"); imagedestroy($img); imagedestroy($pic); ?> |
Пример копирует изображение из файла “picture.jpg” в файл “new.jpg”.
Файл “picture.jpg”:
Файл “new.jpg”: