PHP Conference Japan 2024

imagesetbrush

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

imagesetbrush Установка изображения (кисти), посредством которого будут рисоваться линии

Описание

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

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

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

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

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

image

Объект GdImage, который возвращает одна из функций, создающих изображения, например, imagecreatetruecolor().

brush

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

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

Функция возвращает true в случае успешного выполнения или false, если возникла ошибка.

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

Версия Описание
8.0.0 image и brush теперь ожидают экземпляр GdImage; ранее ожидался ресурс (resource).

Примеры

Пример #1 Пример использования imagesetbrush()

<?php
// Загрузка минилоготипа php
$php = imagecreatefrompng('./php.png');

// Создание основного изображения 100x100
$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);

// Вывод и очистка памяти
header('Content-type: image/png');

imagepng($im);
imagedestroy($im);
imagedestroy($php);
?>

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

Вывод примера: imagesetbrush()

Добавить

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

up
0
brent at ebrent dot net
18 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