函数名:ImagickDraw::composite() 适用版本:Imagick 3.0.0 及以上版本 用法:该函数用于在当前绘图上下文中将像素合成到图像中。它可以用于将一个图像覆盖到另一个图像上...
函数名:ImagickDraw::composite()
适用版本:Imagick 3.0.0 及以上版本
用法:该函数用于在当前绘图上下文中将像素合成到图像中。它可以用于将一个图像覆盖到另一个图像上,并指定合成的模式和位置。
语法:bool ImagickDraw::composite ( int $composite_op , float $x , float $y , float $width , float $height , Imagick $composite_image )
参数:
返回值:成功时返回 true,失败时返回 false。
示例:
// 创建一个ImagickDraw对象
$draw = new ImagickDraw();
// 设置合成模式为COMPOSITE_OVER
$composite_op = Imagick::COMPOSITE_OVER;
// 设置源图像的起始坐标、宽度和高度
$x = 10;
$y = 10;
$width = 200;
$height = 200;
// 创建一个要合成的图像对象
$composite_image = new Imagick('path/to/composite_image.jpg');
// 调用composite函数将图像合成到当前绘图上下文中
$draw->composite($composite_op, $x, $y, $width, $height, $composite_image);
// 在其他绘图操作后,将绘图上下文应用到图像上
$image = new Imagick('path/to/source_image.jpg');
$image->drawImage($draw);
// 保存合成后的图像
$image->writeImage('path/to/output_image.jpg');
以上示例创建了一个ImagickDraw对象,并设置了合成模式为COMPOSITE_OVER。然后通过调用composite函数将指定的图像合成到当前绘图上下文中。最后,将绘图上下文应用到源图像上,并保存合成后的图像到指定路径。