array imagettfbbox(integer point_size, integer angle, string font, string text)
Функция imagettfbbox возвращает массив точек, описывающих ограничивающую рамку вокруг текста, которая будет нарисована функцией imagettftext. Точки берутся относительно самой левой точки в основании. Элементы массива относятся к левому нижнему и верхнему углам, верхнему правому и верхнему левому углам (табл. 16.9).
В зависимости от библиотек, имевшихся в наличии при компиляции PHP, эта функция может и отсутствовать.
boolean imagettftext(resource image, integer point_size, integer angle, integer x, integer y, integer color, string font, string text)
Функция imagettftext (листинг 16.36) использует шрифт TrueType для создания текстовой строки. Аргументы x и y относятся к самой левой точке основания. Текст будет расходиться из этой точки с заданным углом, который может лежать в пределах 0-360. Нулевой угол соответствует обычному тексту (слева направо). Аргумент font задает полный путь к файлу .ttf. Результат работы функции показан на рис. 16.18.
В зависимости от библиотек, имевшихся в наличии при компиляции PHP, эта функция может и отсутствовать.
Листинг 16.36. Функции imagettfbbox и imagettftext
<?php
/*
** Напечатать текст с помощью шрифта TrueType ** Кроме того, нарисовать за текстом рамку.
*/
// задать параметры текста $size = 40; $angle = 45; $startX = 30; $startY = 90;
$font = "c:windowsfontscomic.ttf";
// создать красный квадрат $image = imagecreate(100, 100);
$colorYellow = imagecolorallocate($image, 0xFF, 0xFF, 0x99); $colorGray = imagecolorallocate($image, 0xCC, 0xCC, 0xCC); $colorBlack = imagecolorallocate($image, 0, 0, 0); imagefill($image, 10, 10, $colorYellow); // нарисовать огранивающую рамку
$Box = imagettfbbox($size, $angle, $font, "PHP"); //переместить ограничивающую рамку на начальную точку (100,100) for($index = 0; $index < count($Box); $index += 2)
{
$Box[$index] += $startX; $Box[$index+1] += $startY;
}
// начертить ограничивающую рамку
imagefilledpolygon($image, $Box, count($Box)/2, $colorGray); // напечатать текст
$Box = imagettftext($image, $size, $angle, $startX, $startY, $colorBlack,
$font, "PHP"); // отправить полученное изображение header("Content-type: image/png"); imagepng($image);
?>
integer imagetypes()
Функция imagetypes (листинг 16.37) возвращает битовое поле, устанавливающее типы изображений, поддерживаемых версией PHP, выполняющих сценарий. Константы, приведенные в табл. 16.10, используются для проверки наличия файла формата изображения.
Таблица 16.10. Константы, задающие тип изображения
IMG_GIF IMG_PNG IMG_JPEG IMG_WBMP IMG_JPG IMG_XPM
Листинг 16.37. Функция imagetypes
<?php
$types = imagetypes();
print("Поддерживаемые типы изображений:<br>");
if($types & IMG_GIF)
print('GIF<br>'); if($types & IMG_JPEG)
print('JPEG<br>');
if($types & IMG_PNG)
print('PNG<br>'); if($types & IMG_WBMP)
print('WBMP<br>'); if($types & IMG_XPM)
print('XPM<br>');
?>
boolean imagewbmp(resource image, string file, integer foreground)
Функция imagewbmp отправляет изображение в браузер или записывает его в файл. При указании имени файла создается растровый файл в формате WAP (Wireless Application Protocol). В противном случае изображение отправляется непосредственно в браузер. Необязательный аргумент foreground задает индекс для цвета, который считается фоновым цветом в файлах WBMP.
jpeg2wbmp(string jpeg_file, string wbmp_file, integer height, integer width, integer threshold)
Функция jpeg2wbmp считывает JPEG-файл и записывает WBMP-файл. Необязательный аргумент threshold задает порог преобразования пикселя в черный или белый цвет. Необходимо помнить, что файлы в формате WBMP являются монохромными.
png2wbmp(string png_file, string wbmp_file, integer height, integer width, integer threshold)
Функция png2wbmp считывает PNG-файл и записывает WBMP-файл. Необязательный аргумент threshold задает порог преобразования пикселя в черный или белый цвет. Необходимо помнить, что файлы в формате WBMP являются монохромными.
ТОП-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. Обработка изображений и графики. Часть Шестнадцатая.
09-03-2015
<< Предыдущая статья | Следующая статья >> |
PHP. Обработка изображений и графики. Часть Пятнадцатая. | PHP. Базы данных |