ТОП-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. Обработка изображений и графики. Часть Третья.


23-02-2015

16.2. Создание изображений
Для работы функций, описанных в этом разделе, требуется библиотека GD. Если она не была скомпилирована как часть вашего PHP-модуля, загрузите ее автоматически, отредактировав конфигурационный файл php3.ini , или воспользуйтесь функцией dl. Некоторые из этих функций также требуют других библиотек, которые позволили бы пользоваться файлами шрифтов.
Для создания пустой графики вначале можно воспользоваться функциями imagecreate или такой функцией, как imagecreatefrompng, для загрузки PNG-формата из файла. В этих функциях координаты (0, 0) соответствуют левому верхнему углу и представлены в пикселях. Аналогично, все задающие размеры аргументы представляются в пикселях. Создание изображений с помощью этих функций позволяет выводить изображение в середине сценария, содержащего HTML-код. При этом необходимо разработать отдельный сценарий, отправляющий заголовок Content-type. Такое решение используется во всех приведенных здесь примерах сценариев.
Для функций, использующих шрифты, существует пять встроенных шрифтов, пронумерованных соответственно от 1 до 5. При этом можно добавлять шрифты с номерами выше пяти.
Функции изображений работают с цветами, которые предварительно должны рас­пределяться с помощью одной из функций распределения (например, imagecolorallocate). Эти функции предоставляют в ваше распоряжение индекс палитры. Кроме того, можно использовать несколько констант, определяющих разрисовку с помощью кистей или мозаики. Более подробную информацию по данной теме можно найти в описании функций imagesetbrush, imagesetstyle и imagesettile.
array gd_info()
Функция gd_info возвращает массив с описанием имеющихся в наличии частей библиотеки GD. В табл. 16.4 описываются элементы возвращаемого массива.
Обработка изображений и графики
image2wbmp(resource image, string file, integer threshold)
Функция image2wbmp выводит в браузере изображение в беспроводном растровом формате (Wireless Bitmap). При указании необязательного аргумента file файл будет сохранен в файле. Необязательный аргумент threshold задает порог между белым и черным цветом для пикселя. Необходимо помнить, что изображения, хранимые в WBMP-формате, являются монохромными. Альтернативой этой функции является функция imagewmp.
boolean imagealphablending(resource image, boolean blendingmode)
Функция imagealphablending управляет отображением изображений в режиме реалистичного цветовоспроизведения в смешанном режиме. В этом режиме пиксели изображения смешиваются с существующими пикселями. Альфа-смешение работает только в режиме реалистичного цветовоспроизведения. boolean imagearc(resource image, integer center_x, integer center_y, integer width, integer height, integer start, integer end, integer color)
Функция imagearc (листинг 16.4) предназначена для вычерчивания дуги эллипса. Первым аргументом задается изображение. Центр эллипса задается координатами center_x и center_y. Аргументы height и width задают соответствующие параметры в пикселях. Координаты центра эллипса задаются аргументами center_x и center_y. Начальные точки дуги задаются в градусах аргументами start и end. Нулевой градус находится на трехчасовой отметке циферблата и отмеряется по направлению движения часовой стрелки. На рис. 16.1 показан результат работы сценария, представленного в листинге 16.4.

Листинг 16.4. Функция imagearc

<?php /*
** вырезать круговое изображение из картинки
*/
// попытка открыть изображение с подавлением сообщений об ошибках if(!($image = @imagecreatefrompng("leonatkinson.png")))
{
//ошибка, перед выходом создается ошибочное изображение $image = imagecreate(200,200);
$colorWhite = imagecolorallocate($image, 255, 255, 255); $colorBlack = imagecolorallocate($image, 0, 0, 0); imagefill($image, 0, 0, $colorWhite);
imagestring($image, 4, 10, 10, "Couldn't load image!",
$colorBlack); header("Content-type: image/png"); imagepng($image); exit();
}
// для того чтобы работала прозрачность, убедиться в том, что нахо­димся в режиме палитры
imagetruecolortopalette($image, FALSE, 32); //создать прозрачный цвет
$colorMagenta = imagecolorallocate($image, 255, 0, 255);
// нарисовать круг
imagearc($image,
70, 140,
120, 120,
0, 360,
$colorMagenta); // залить пространство вне круга пурпурным цветом imagefilltoborder($image, 0, 0,$colorMagenta, $colorMagenta); // перевести пурпурный цвет в прозрачный режим imagecolortransparent($image, $colorMagenta); // отправить полученное изображение header("Content-type: image/png"); imagepng($image);

?>
Обработка изображений и графики

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



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