ImagickDraw::color()函数是PHP中的内置函数,用于从指定位置开始使用指定的绘制方法,使用当前的填充颜色在图像上绘制颜色。
用法:
bool ImagickDraw::color( float $x, float $y, int $paintMethod )
参数:此函数接受上述和以下所述的三个参数:
$x:它指定绘画的x坐标。
$y:它指定绘画的y坐标。
$paintMethod:它指定一个与PAINT常量之一相对应的整数。 PAINT常量列表如下:imagick::PAINT_POINT(1)
imagick::PAINT_REPLACE(2)
imagick::PAINT_FLOODFILL(3)
imagick::PAINT_FILLTOBORDER(4)
imagick::PAINT_RESET(5)
返回值:成功时此函数返回TRUE。
异常:该函数在错误时引发ImagickException。
下面给出的程序说明了PHP中的ImagickDraw::color()函数:
程序1:
//Create a new Imagick object
$imagick = new Imagick();
// Create a image on imagick object
$imagick->newImage(800, 250, 'white');
// Create a new ImagickDraw object
$draw = new ImagickDraw();
$x = 0;
while ($x < 900) {
// Draw lines using imagick::PAINT_POINT
$draw->color($x, 0, 1);
$draw->color($x, 30, 1);
$draw->color($x, 60, 1);
$draw->color($x, 90, 1);
$draw->color($x, 120, 1);
$draw->color($x, 150, 1);
$draw->color($x, 180, 1);
$draw->color($x, 210, 1);
$draw->color($x, 240, 1);
$x++;
}
// Render the draw commands
$imagick->drawImage($draw);
// Show the output
$imagick->setImageFormat("png");
header("Content-Type:image/png");
echo $imagick->getImageBlob();
?>
输出:
程序2:
//Create a new Imagick object
$imagick = new Imagick();
// Create a image on imagick object
$imagick->newImage(800, 250, 'white');
// Create a new ImagickDraw object
$draw = new ImagickDraw();
// Set the fill color
$draw->setFillColor('green');
// Color the image using Imagick::PAINTFILL
$draw->color(1, 1, Imagick::PAINT_FLOODFILL);
// Render the draw commands
$imagick->drawImage($draw);
// Show the output
$imagick->setImageFormat("png");
header("Content-Type:image/png");
echo $imagick->getImageBlob();
?>
输出: