imagesetbrush

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

imagesetbrush Устанавливает изображение кисти для рисования линий

Описание

imagesetbrush(GdImage $image, GdImage $brush): true

Функция imagesetbrush() устанавливает изображение кисти, которым функции наподобие imageline() и imagepolygon() рисуют линии в режимах IMG_COLOR_BRUSHED или IMG_COLOR_STYLEDBRUSHED.

Предостережение

Дополнительных действий после завершения работы с кистью не требуется, но при уничтожении изображения кисти рисовать цветами IMG_COLOR_BRUSHED или IMG_COLOR_STYLEDBRUSHED до установки нового изображения кисти нельзя!

Список параметров

image

Объект GdImage, который вернула функция imagecreatetruecolor() или другая функция генерации изображений.

brush

Объект изображения кисти.

Возвращаемые значения

Функция возвращает логическое значение true.

Список изменений

Версия Описание
8.0.0 Параметры image и brush теперь принимают объект GdImage; раньше принимался тип resource.

Примеры

Пример #1 Пример установки изображения кисти функцией imagesetbrush()

<?php

// Загружаем минилоготип php
$php = imagecreatefrompng('./php.png');

// Создаём главное изображение размером 100 на 100 пикселей
$im = imagecreatetruecolor(100, 100);

// Заливаем фон белым цветом
$white = imagecolorallocate($im, 255, 255, 255);
imagefilledrectangle($im, 0, 0, 299, 99, $white);

// Устанавливаем кисть
imagesetbrush($im, $php);

// Рисуем кистью пару мазков, один поверх другого
imageline($im, 50, 50, 50, 60, IMG_COLOR_BRUSHED);

// Устанавливаем заголовок с MIME-типом изображения и выводим результат
header('Content-type: image/png');
imagepng($im);

Вывод приведённого примера будет похож на:

Вывод примера: Отрисовка линии изображением кисти функцией imagesetbrush()

Добавить

Примечания пользователей 1 note

up
0
brent at ebrent dot net
19 years ago
Use a brush to create a thick line.

To create a 3x3 red brush:

<?php
$brush_size = 3;
$brush = imagecreatetruecolor($brush_size,$brush_size);
$brush_color = imagecolorallocate($brush,255,0,0);
imagefill($brush,0,0,$brush_color);
imagesetbrush($im,$brush);
?>

Then use imageline() or imagepolygon() with IMG_COLOR_BRUSHED as the color.

To stop using the brush, destroy it:

<?php imagedestroy($brush); ?>

The brush can also be created from an existing image.
To Top