PHP Conference Nagoya 2025

Imagick::paintFloodfillImage

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

Imagick::paintFloodfillImage色にマッチするピクセルを変更する

警告

この関数は Imagick 3.4.4 以降では 非推奨 になりました。この関数に依存したコードを書くのはやめましょう。

説明

public Imagick::paintFloodfillImage(
    mixed $fill,
    float $fuzz,
    mixed $bordercolor,
    int $x,
    int $y,
    int $channel = Imagick::CHANNEL_DEFAULT
): bool

対象にマッチするピクセルとその近傍の色を変更します。 ImageMagick 6.3.8 以降はこのメソッドは非推奨となりました。かわりに Imagick::floodfillPaintImage() を使用します。

パラメータ

fill

塗りつぶし色を表す ImagickPixel オブジェクトあるいは文字列。

fuzz

fuzz の量。たとえば fuzz を 10 にすると、 強度 100 の赤と 102 の赤は同じ色とみなします。

bordercolor

境界色を表す ImagickPixel オブジェクトあるいは文字列。

x

floodfill の開始位置の X 座標。

y

floodfill の開始位置の Y 座標。

channel

そのモードで有効なチャネル定数を指定します。 複数のチャネルを適用するには、チャネル定数 をビット演算子で組み合わせます。デフォルトは Imagick::CHANNEL_DEFAULT です。 チャネル定数 の一覧を参照ください。

戻り値

成功した場合に true を返します。

add a note

User Contributed Notes 1 note

up
0
mamcia at gmail dot com
13 years ago
Seems that this method doesn't work as expected. Use Imagick::floodFillPaintImage() instead.

<?php
$img
= new Imagick('/tmp/test.png');
$img->floodFillPaintImage('green', 10, 'white', 100, 100, false);
$img->writeImage('/tmp/out.png');
$img->clear();
$img->destroy();
?>
To Top