imagefilltoborder
(PHP 4, PHP 5, PHP 7, PHP 8)
imagefilltoborder — Preenche até encontrar uma cor especificada
Descrição
imagefilltoborder() realiza um preenchimento
cuja cor de borda é definida por border_color
.
O ponto de início do preenchimento é x
,
y
(canto superior esquero é 0, 0) e a região é
preenchida com a cor informada em color
.
Parâmetros
-
image
Um objeto GdImage, retornado por uma das funções de criação de imagem, como imagecreatetruecolor().
x
-
Coordenada x do início.
y
-
Coordenada y do início.
border_color
-
A cor da borda. Um identificador de cor criado com imagecolorallocate().
color
-
A cor de preenchimento. Um identificador de cor criado com imagecolorallocate().
Registro de Alterações
Versão | Descrição |
---|---|
8.0.0 |
O parâmetro image agora espera uma instância de GdImage;
anteriormente, um resource gd válido era esperado.
|
Exemplos
Example #1 Preenchendo uma elipse com uma cor
<?php
// Cria a imagem, com fundo branco
$im = imagecreatetruecolor(100, 100);
imagefilledrectangle($im, 0, 0, 100, 100, imagecolorallocate($im, 255, 255, 255));
// Desenha uma elipse com borda preta para ser preenchida
imageellipse($im, 50, 50, 50, 50, imagecolorallocate($im, 0, 0, 0));
// Define a borda e a cor de preenchimento
$border = imagecolorallocate($im, 0, 0, 0);
$fill = imagecolorallocate($im, 255, 0, 0);
// Preenche a seleção
imagefilltoborder($im, 50, 50, $border, $fill);
// Mostra e libera memória
header('Content-type: image/png');
imagepng($im);
imagedestroy($im);
?>
O exemplo acima produzirá algo semelhante a:
Notas
O algoritmo não se lembra explicitamente de quais pixels já foram definidos, mas infere isso a partir da cor do pixel, portanto ele não consegue distinguir entre pixels que acabaram de ser definidos de pixels que já estavam lá. Isto significa que ao escolher uma cor de preenchimento que já existe na imagem pode gerar resultados indesejados.