imagefilltoborder

(PHP 4, PHP 5, PHP 7)

imagefilltoborderBelli bir bölgeyi belli bir renge boyar

Açıklama

imagefilltoborder ( resource $resim , int $x , int $y , int $kenar , int $dolgu ) : bool

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.

Değiştirgeler

resim

imagecreatetruecolor() gibi bir resim oluşturma işlevinden dönen bir resim verisi.

x

Başlangıç noktasının X konumu.

y

Başlangıç noktasının Y konumu.

kenar

Kenar rengi. imagecolorallocate() ile oluşturulan bir renk tanıtıcısı.

dolgu

Dolgu rengi. imagecolorallocate() ile oluşturulan bir renk tanıtıcısı.

Dönen Değerler

Başarı durumunda TRUE, başarısızlık durumunda FALSE döner.

Örnekler

Örnek 1 - Bir elipsi belli bir renge boyamak

<?php
// Tuvalimizi oluşturup artalan rengini beyaz yapalım
$im imagecreatetruecolor(100100);
imagefilledrectangle($im00100100imagecolorallocate($im255255255));

// Siyah kalemle bir elips çizelim
imageellipse($im50505050imagecolorallocate($im000));

// Kenar ve dolgu renklerini belirleyelim
$kenar imagecolorallocate($im000);
$dolgu imagecolorallocate($im25500);

// Kenar rengine göre belirlenen kapalı alanı boyayalım
imagefilltoborder($im5050$kenar$dolgu);

// Resmi çı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:

imagefilltoborder.png

add a note add a note

User Contributed Notes 2 notes

up
2
edrad at wanadoo dot fr
16 years ago
Very useful to build a pseudo-sphere with a color gradient...

<?php
$width
= 300;
$center = $width / 2;
$colordivs = 255 / $center;
$im = @imagecreate($width, $width);
$back_color = imagecolorallocate($im, 20, 30, 40);
imagefill($im, 0, 0, $back_color);
for (
$i = 0; $i <= $center; $i++)
{
    
$diametre = $width - 2 * $i;
   
$el_color = imagecolorallocate($im, $i * $colordivs, 0, 0);
   
imagearc($im, $center, $center, $diametre, $diametre, 0, 360, $el_color);
   
imagefilltoborder($im, $center, $center, $el_color, $el_color);
}
imagepng($im);
?>

Dark Skull Software
http://www.darkskull.net
up
0
admin at worldlanguages dot tk
15 years ago
In the example below, for those with newer GD versions, it makes more sense to replace:

imagearc($im, $center, $center, $diametre, $diametre, 0, 360, $el_color);

with:

imageellipse($im, $center, $center, $diametre, $diametre, $el_color);

This is obviously simpler.
To Top