Imagick::floodFillPaintImage

(PECL imagick 2 >= 2.3.0, PECL imagick 3)

Imagick::floodFillPaintImageHedefle eşleşen piksellerin renklerini değiştirir

Açıklama

public Imagick::floodFillPaintImage(
    mixed $dolgu,
    float $benzerlik,
    mixed $hedef,
    int $x,
    int $y,
    bool $ters,
    int $kanal = Imagick::CHANNEL_DEFAULT
): bool

Hedefin ve yakın komşularının renk değerini değiştirir. Bu yöntem artık kullanımı önerilmeyen Imagick::paintFloodFillImage() işlevinin yerini almıştır. Bu yöntem, derleme sırasında ImageMagick kütüphanesinin 6.3.8 veya sonraki bir sürümü kuruluysa kullanılabilir.

Bağımsız Değişkenler

dolgu

Dolgu rengini içeren bir dizge veya bir ImagickPixel nesnesi.

benzerlik

Renkler arasındaki azami benzerlik. Örneğin bu değere 10 atarsanız, renk kırmızı ise ve kırmızının koyulukları 100 ve 102 ise bu iki renk aynı kabul edilir.

hedef

Boyanacak hedef rengi içeren bir dizge veya bir ImagickPixel nesnesi.

x

Renk değişikliğinin başlatılacağı X konumu.

y

Renk değişikliğinin başlatılacağı Y konumu.

ters

true belirtilirse hedefle eşlemeyen renkler değiştirilir.

kanal

Normalde kanal türü sabitlerinden biridir, ancak bitsel işleçler kullanılarak birden fazla kanal belirtilebilir. Imagick::CHANNEL_DEFAULT öntanımlıdır.

Dönen Değerler

Başarı durumunda true döner.

Örnekler

Örnek 1 - Imagick::floodfillPaintImage() örneği

<?php

/* Yeni bir imagick nesnesi oluştur */
$im = new Imagick();

/* kırmızı, yeşil ve mavi tuvaller oluştur */
$im->newImage(100, 50, "red");
$im->newImage(100, 50, "green");
$im->newImage(100, 50, "blue");

/* Bunları birbirlerine ekle */
$im->resetIterator();
$combined = $im->appendImages(true);

/* Elde edilen görüntüyü karşılaştırmak için sakla */
$combined->writeImage("floodfillpaint_intermediate.png");

/* Boyanacak hedef piksel */
$x = 1;
$y = 1;

/* Boyanacak pikselin rengini öğren */
$target = $combined->getImagePixelColor($x, $y);

/* Hedef pikseli ve aynı renkteki komşu pikselleri siyaha boya */
$combined->floodfillPaintImage("black", 1, $target, $x, $y, false);

/* Sonucu kaydet */
$combined->writeImage("floodfillpaint_result.png");
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Örnek çıktısı: Imagick::floodfillPaintImage()
Örnek çıktısı: Imagick::floodfillPaintImage()