boolean imagejpeg(resource image, string file, integer quality)
Функция imagejpeg отправляет изображение в браузер или записывает его в файл. При указании имени файла создается файл в JPEG-формате. В противном случае изображение отсылается непосредственно в браузер. Необязательный аргумент quality задает используемую в изображении степень сжатия в диапазоне от 0 (низкое качество) до 10 (высокое качество).
imagelayereffect(resource image, integer effect)
Эта функция задает метод, используемый при копировании изображений. Данной функцией можно воспользоваться в качестве альтернативы функции imagealphablending. В табл. 16.7 приведены допустимые значения для аргумента effect.
Обработка изображений и графики
boolean imageline(resource image, integer start_x, integer start_y, integer end_x, integer end_y, integer color)
Функция imageline прочерчивает линию, начиная с начальной точки и заканчивая конечной точкой. По умолчанию PHP вычерчивает непрерывную линию, но также имеется возможность вычерчивания пунктирной линии. Для этого необходимо с помощью функции imagesetstyle задать тип линии и ее цвет IMG_COLOR_STYLED. С помощью функции imagesetstyle и IMG_COLOR_STYLEDBRUSH можно задать прочерчивание линии мазками кисти. Эти возможности продемонстрированы в листинге 16.24, а вывод функции показан на рис. 16.11. 

Листинг 16.24. Функция imageline

<?php /*
** создать голубой прямоугольный фон
*/
$image = imagecreate(200,200);
$colorCyan = imagecolorallocate($image, 128, 255, 255); $colorBlack = imagecolorallocate($image, 0, 0, 0); imagefill($image, 0, 0, $colorCyan);
/*
** начертить непрерывную линию
*/
imageline($image, 50, 0, 200, 150, $colorBlack);
/*
** начертить пунктирную линию
*/
$styleDashed = array_merge(array_fill(0, 4, $colorBlack), array_fill(0, 4, IMG_COLOR_TRANSPARENT)); imagesetstyle($image, $styleDashed);
imageline($image, 0, 0, 200, 200, IMG_COLOR_STYLED);
/*
** начертить линию с помощью мазков кисти
*/
// задать кисть
$dot = imagecreate(10, 10);
$dotColorBlack = imagecolorallocate($dot, 0, 0, 0); $dotColorTransparent = imagecolorallocate($dot, 255, 0, 255); imagecolortransparent($dot, $dotColorTransparent); imagefill($dot, 0, 0, $dotColorTransparent); imagefilledellipse($dot, 4, 4, 5, 5, $dotColorBlack); imagesetbrush($image, $dot); // задать тип линии
$styleDotted = array_merge(array_fill(0, 1, $colorBlack), array_fill(0, 9, IMG_COLOR_TRANSPARENT)); imagesetstyle($image, $styleDotted); // начертить пунктирную линию
imageline($image, 0, 50, 150, 200, IMG_COLOR_STYLEDBRUSHED);
/*
** отобразить изображение
*/
header("Content-type: image/png"); imagepng($image);

?>
Обработка изображений и графики
resource imageloadfont(string file)
Функция imageloadfont загружает шрифт и возвращает идентификатор шрифта, который может использоваться в других функциях, работающих со шрифтами. Шрифты сохраняются в виде растрового изображения в специальном формате, зависящем от конкретной архитектуры. В табл. 16.8 показана структура файла шрифтов для систем, использующих 32-битовые целые числа.
Необходимо помнить о возможности использовать шрифты TrueType и PostScript, которые обеспечивают лучшее качество. Пять встроенных шрифтов достаточно удобны, но другие популярные шрифтовые форматы позволяют улучшить качество.
Обработка изображений и графики
boolean imagepalettecopy(resource destination, resource source)
Функция imagepalettecopy заменяет палитру в результирующем изображении на палитру исходного изображения.
boolean imagepng(resource image, string file)
Функция imagepng отправляет изображение в браузер или записывает его в файл. При наличии имени файла файл создается в PNG-формате. В противном случае изображение отсылается непосредственно в браузер. Последний метод наиболее широко используется в большинстве примеров этого раздела.