boolean imagepolygon(resource image, array points, integer number, integer color)
Функция imagepolygon (листинг 16.25) аналогична функции imagefilledpolygon, за исключением того, что многоугольник не заполняется цветом. Аргументом points задается массив значений координат x и y каждой точки. Линия вычерчивается последовательно между всеми точками и, наконец, между последней и первой точками. Результат работы этой функции показан на рис. 16.12.
| Листинг 16.25. Функция imagepolygon_
<?php
// создать красный прямоугольник $image = imagecreate(100,100);
$colorPink = imagecolorallocate($image, 0xFF, 0xCC, 0xCC);
$colorBlack = imagecolorallocate($image, 0, 0, 0);
imagefill($image, 0, 0, $colorPink);
// задать три точки треугольника
$points = array(50, 10, 10, 90, 90, 90);
// начертить треугольник
imagepolygon($image,
$points, count($points)/2,
$colorBlack); // отправить полученное изображение header("Content-type: image/png"); imagepng($image);
?>
array imagepsbbox(string text, integer font_identifier, integer size, integer spacing, integer leading, double angle)
Функция imagepsbbox возвращает массив, содержащий пару координат, определяющих рамку, ограничивающую теоретическую текстовую строку. Первые два числа являются координатами x и y нижнего левого угла. Вторая пара чисел является координатами правого верхнего угла.
Аргумент font_identifier является целым числом, возвращенным функцией imagepsloadfont. Аргумент size задает размер в пикселях. Аргумент spacing управляет расстоянием между строками текста по вертикали. Аргумент leading управляет расстоянием по горизонтали между строками текста. Оба выражаются в 1/1000 квадрата "M" и прибавляются к расстояниям, принятым для данного шрифта по умолчанию. Аргументы могут иметь положительное или отрицательное значение. Аргумент angle задает угол в градусах, на который повернут текст. Угол считается для обычной ориентации слева направо.
imagepsencodefont(string file)
Функция imagepsencodefont предназначена для изменения вектора кодирования, использованного для совмещения ASCII-символов с изображениями шрифтов PostScript. По умолчанию шрифты PostScript имеют символы для первых 127 ASCII-кодов.
imagepsextendfont(integer font_identifier, double extension_factor)
Функция imagepsextendfont (листинг 16.26) расширяет или сужает шрифт PostScript. Нормальная ширина шрифта умножается на extension_factor. Пример использования этой функции приведен в описании функции imagepscopyfont. Несколько вызовов этой функции подряд не имеют кумулятивного действия; они всего лишь изменяют расширение. Если необходимо установить нормальную ширину шрифта, используйте коэффициент, равный 1. Результаты работы этой функции показаны на рис. 16.13.
Листинг 16.26. Функции imagepsextendfont и imagepsslantfont
<?php
// задать параметры текста
$font_file = "/usr/share/fonts/default/Type1/n019003l.pfb"; $size = 20; $angle = 0;
$text = "PHP";
$antialias_steps = 16;
$spacing = 0;
$leading = 0;
// создать красный квадрат
$image = imagecreate(100, $size*3);
$colorYellow = imagecolorallocate($image, 0xFF, 0xFF, 0xCC); $colorBlack = imagecolorallocate($image, 0, 0, 0); imagefill($image, 10, 10, $colorYellow); // загрузить шрифт
if(!($myFont = imagepsloadfont($font_file))) {
print("Невозможно загрузить шрифт!"); exit();
}
// напечатать нормальным шрифтом imagepstext($image, $text, $myFont, $size,
$colorBlack, $colorYellow,
0, $size-1, $spacing, $leading,
$angle, $antialias_steps); // расширить шрифт
$myFontExtended = imagepsloadfont($font_file); imagepsextendfont($myFontExtended, 1.5); // записать расширенный текст
imagepstext($image, $text, $myFontExtended, $size, $colorBlack, $colorYellow, 0, ($size*2)-1, $spacing, $leading,
$angle, $antialias_steps); // создать курсивный шрифт
$myFontSlanted = imagepsloadfont($font_file); imagepsslantfont($myFontSlanted, 1.5); // записать курсивный текст
imagepstext($image, $text, $myFontSlanted, $size, $colorBlack, $colorYellow, 0, ($size*3)-1, $spacing, $leading, $angle, $antialias_steps); // загрузить шрифты imagepsfreefont($myFont); imagepsfreefont($myFontExtended); imagepsfreefont($myFontSlanted); // отправить полученное изображение header("Content-type: image/png"); imagepng($image);
?>
imagepsfreefont(integer font_identifier)
Функция imagepsfreefont удаляет шрифт PostScript из памяти. Обычно этого делать не надо, так как PHP сам выгружает шрифты по завершении работы сценария.
resource imagepsloadfont(string file)
Функция imagepsloadfont предназначена для загрузки шрифта PostScript. При этом возвращается идентификатор шрифта для дальнейшего использования другими PostScript-функциями. При ошибочном завершении работы функции возвращается значение FALSE.
ТОП-10 популярных
Для работы с вещественными числами в MySQL предусмотрено три типа данных - это типы FLOAT, DOUBLE, DECIMAL. Числовой тип FLOAT...
БОЛЬШЕ БОЛЬШИХ LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
Больше больших LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
НОУТБУК с блестящим экраном
Eсли выпустившая ноутбук фирма предлагает его в качестве «замены настольному ПК», то это должно подразумевать под собой нечто большее, чем...
Eсли выпустившая ноутбук фирма предлагает его в качестве «замены настольному ПК», то это должно подразумевать под собой нечто большее, чем...
Иди и пиши. TravelMate C100
Планшетный компьютер платформы Tablet PC обязан в первую очередь быть легким, способным достаточно долго работать без подзарядки батарей. Эти требования...
Планшетный компьютер платформы Tablet PC обязан в первую очередь быть легким, способным достаточно долго работать без подзарядки батарей. Эти требования...
Магнито-оптический дисковод DynaMO
Cейчас, когда традиционные флоппи-дисководы на долгие годы замерли в своем развитии, поиск альтернативных носителей продолжается, и ситуация, казалось бы, разрешилась...
Cейчас, когда традиционные флоппи-дисководы на долгие годы замерли в своем развитии, поиск альтернативных носителей продолжается, и ситуация, казалось бы, разрешилась...
Компьютер для гурманов.«Эксимер ДМ»
Российская компания «Эксимер ДМ», известная как производитель настольных компьютеров, рабочих станций, серверов и ноутбуков, выступила техническим спонсором проведения торжеств, посвященных...
Российская компания «Эксимер ДМ», известная как производитель настольных компьютеров, рабочих станций, серверов и ноутбуков, выступила техническим спонсором проведения торжеств, посвященных...
Для длинных строк, т.е. строк длиннее 255 символов, в MySQL предусмотрены типы BLOB (Binary Large Object, большой двоичный объект) и...
В дополнение к календарным типам, предназначенным для хранения даты и времени отдельно, MySQL также поддерживает гибридные типы данных DATETIME и...
Вообще, к изменению настроек сервера прибегают очень редко. В MySQL программа заранее настроена так, чтобы соответствовать самым распространенным и основным...
PHP. Обработка изображений и графики. Часть Двеннадцатая.
05-03-2015
<< Предыдущая статья | Следующая статья >> |
PHP. Обработка изображений и графики. Часть Одиннадцатая. | PHP. Обработка изображений и графики. Часть Триннадцатая. |