Riempie un'area delimitata da un bordo di un colore specifico con un altro colore specificato.
Diversamente da
imagefill() un'area delimitata da bordi di colore diverso non può essere riempita.
imagefilltoborder ( resource $image , int $x , int $y , int $border , int $color )
Parametri
$image: Una risorsa immagine restituita da una delle funzioni di creazione immagine
$x: Coordinata x all'interno della figura da colorare.
$y: Coordinata y all'interno della figura da colorare.
$border: Colore del bordo che racchiude la figura (deve essere dello stesso colore)
$color: Colore di riempimento. Un identificatore di colore creato con
imagecolorallocate().
<?php
$Immagine =
imagecreate(320, 240);
// alloca i colori
$Giallo =
imagecolorallocate($Immagine, 255, 255, 0);// sfondo immagine
$Rosso =
imagecolorallocate($Immagine, 255, 0, 0);
$Verde =
imagecolorallocate($Immagine, 0, 255, 0);
$Blu =
imagecolorallocate($Immagine, 0, 0, 255);
// disegna rettangoli 2 rossi ed 1 verde
imagerectangle($Immagine, 20, 20, 240, 180, $Rosso);
imagerectangle($Immagine, 100, 120, 300, 220, $Rosso);
imagerectangle($Immagine, 120, 10, 220, 110, $Verde);
// riempie di blu la superfice di sovrapposizione fra i rettangoli rossi
// se i rettangoli non fossero stato entrambi dello stesso colore
// in questo caso rosso, la funzione non avrebbe avuto effetto
imagefilltoborder($Immagine, 120, 160, $Rosso, $Blu);
header("Content-type: image/png");
imagepng($Immagine); // al browser
imagepng($Immagine, "NomeFile.png"); // salva
imagedestroy($Immagine); // libera memoria
?>
Risultato: