PHPerKaigi 2024

imagesetbrush

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

imagesetbrushDefine o tipo de pincel para desenho de linhas

Descrição

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

imagesetbrush() define a imagem de pincel para ser usada por todas as funções de desenho de linhas (como imageline() e imagepolygon()) ao desenhar com as cores especiais IMG_COLOR_BRUSHED ou IMG_COLOR_STYLEDBRUSHED.

Cuidado

Não é necessário tomar medidas especiais ao terminar de usar um pincel, mas se a imagem do pincel for destruída (ou se o PHP destruí-la), as cores IMG_COLOR_BRUSHED ou IMG_COLOR_STYLEDBRUSHED não podem ser usadas até que uma nova imagem de pincel seja definida!

Parâmetros

image

Um objeto GdImage, retornado por uma das funções de criação de imagem, como imagecreatetruecolor().

brush

Um objeto de imagem.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Registro de Alterações

Versão Descrição
8.0.0 image e brush agora esperam instâncias de GdImage anteriormente, resources eram esperados.

Exemplos

Exemplo #1 Exemplo de imagesetbrush()

<?php
// Carrega uma mini logomarca do PHP
$php = imagecreatefrompng('./php.png');

// Cria a imagem principal, 100x100
$im = imagecreatetruecolor(100, 100);

// Preenche o fundo com a cor branca
$white = imagecolorallocate($im, 255, 255, 255);
imagefilledrectangle($im, 0, 0, 299, 99, $white);

// Define o pincel
imagesetbrush($im, $php);

// Desenha um par de pincéis, um sobrepondo o outro
imageline($im, 50, 50, 50, 60, IMG_COLOR_BRUSHED);

// Mostra a imagem no navegador
header('Content-type: image/png');

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

O exemplo acima produzirá algo semelhante a:

Saída do exemplo: imagesetbrush()

add a note

User Contributed Notes 1 note

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