(PHP 4, PHP 5, PHP 7, PHP 8)
imagefilltoborder — Belli bir bölgeyi belli bir renge boyar
imagefilltoborder() işlevi sınırları kenar_rengi
ile tanımlanmış bir bölgeyi dolgu
renginde boyar. Doldurma işleminin başlangıç noktası x
ve y
ile belirtilir. Resmin sol üst köşesinin koordinatları 0,0'dır.
görüntü
imagecreatetruecolor() gibi bir görüntü oluşturma işlevinden dönen bir GdImage nesnesi.
x
Başlangıç noktasının X konumu.
y
Başlangıç noktasının Y konumu.
kenar_rengi
Kenar rengi. imagecolorallocate() işlevi le oluşturulmuş bir renk tanıtıcı.
dolgu
Dolgu rengi. imagecolorallocate() işlevi le oluşturulmuş bir renk tanıtıcı.
Sürüm: | Açıklama |
---|---|
8.0.0 | görüntü bağımsız değişkeninde artık bir GdImage nesnesi aktarmak gerekiyor; evvelce resource türünde geçerli bir gd değeri gerekirdi. |
Örnek 1 - Bir elipsi belli bir renge boyamak
<?php
// Tuvalimizi oluşturup artalan rengini beyaz yapalım
$im = imagecreatetruecolor(100, 100);
imagefilledrectangle($im, 0, 0, 100, 100, imagecolorallocate($im, 255, 255, 255));
// Siyah kalemle bir elips çizelim
imageellipse($im, 50, 50, 50, 50, imagecolorallocate($im, 0, 0, 0));
// Kenar ve dolgu renklerini belirleyelim
$kenar = imagecolorallocate($im, 0, 0, 0);
$dolgu = imagecolorallocate($im, 255, 0, 0);
// Kenar rengine göre belirlenen kapalı alanı boyayalım
imagefilltoborder($im, 50, 50, $kenar, $dolgu);
// Görüntüyü çıktılayıp belleği serbest bırakalım
header('Content-type: image/png');
imagepng($im);
imagedestroy($im);
?>
Yukarıdaki örnek şuna benzer bir çıktı üretir:
Algoritma, hangi piksellerin önceden ayarlandığını açıkça hatırlamaz, bunun yerine pikselin renginden bunu çıkarır, bu nedenle yeni ayarlanmış pikseller ile zaten orada olan pikseller arasında ayrım yapamaz. Bu, görüntüde halihazırda kullanılan herhangi bir dolgu renginin seçilmesinin istenmeyen sonuçlara yol açabileceği anlamına gelir.