ТОП-10 популярных



Для работы с вещественными числами в MySQL предусмотрено три типа данных - это типы FLOAT, DOUBLE, DECIMAL. Числовой тип FLOAT...

НОУТБУК с блестящим экраном
Eсли выпустившая ноутбук фирма предлагает его в качестве «замены настольному ПК», то это должно подразумевать под собой нечто большее, чем...

БОЛЬШЕ БОЛЬШИХ LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...

Больше больших LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...

Магнито-оптический дисковод DynaMO
Cейчас, когда традиционные флоппи-дисководы на долгие годы замерли в своем развитии, поиск альтернативных носителей продолжается, и ситуация, казалось бы, разрешилась...

Иди и пиши. TravelMate C100
Планшетный компьютер платформы Tablet PC обязан в первую очередь быть легким, способным достаточно долго работать без подзарядки батарей. Эти требования...

ПОД ЛИТЕРОЙ «N»
Aтаку LCD-мониторов не остановить, а масштабы этого наступления даже немного пугают. Судите сами — многие пользователи только начинают приглядываться к новому для...


Для длинных строк, т.е. строк длиннее 255 символов, в MySQL предусмотрены типы BLOB (Binary Large Object, большой двоичный объект) и...

Размер объему не помеха.
С тех пор как компания Fujitsu отказалась от производства жестких дисков для настольных компьютеров, многие пользователи начали забывать о том,...


Какую только информацию мы не помещаем на компакт-диски: резервные копии важных данных, музыку, фильмы... Многие полагают, что главное - «купить...

PHP. Обработка изображений и графики. Часть Двеннадцатая.


05-03-2015

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.

Понравился материал? Поделитесь с друзьями!



<< Предыдущая статьяСледующая статья >>
PHP. Обработка изображений и графики. Часть Одиннадцатая. PHP. Обработка изображений и графики. Часть Триннадцатая.