php imagick着色,PHP ImagickDraw color()用法及代码示例

本文介绍了PHP中的ImagickDraw::color()函数,用于在图像上绘制颜色。函数接受x坐标、y坐标和绘画方法作为参数,并提供了PAINT常量列表。示例代码展示了如何使用此函数绘制线条和填充颜色,生成PNG图像。
摘要由CSDN通过智能技术生成

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();

?>

输出:

7b617f14f272ed3262d8666503f74978.png

程序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();

?>

输出:

acdf38e85f12bf254d7edb71f8f6a5f1.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值