如何使用php imagemagick绘图方法将背景像素替换为白色像素

如何使用php imagemagick绘图方法将背景像素替换为白色像素,php,imagemagick,Php,Imagemagick,我正在使用PHPImagick扩展,但我不知道如何使用draw方法更改图像的背景色 您正在学习的polyvore教程说 接下来,我们用白色替换背景,从显示的像素开始 位于2,2的xy位置。我们从那里开始,因为快到了 当然是背景的一部分,而不是产品。ImageMagick有 一个绘图命令,用于替换与图形颜色相同的像素 使用新颜色启动像素。我们使用Draw来替换背景像素 (与我们的起始像素颜色相同)使用白色像素。我们也 使用带有模糊因子的Draw,这样它也会替换不可见的像素 颜色与起始像素相似,以考

我正在使用PHPImagick扩展,但我不知道如何使用draw方法更改图像的背景色


您正在学习的polyvore教程说

接下来,我们用白色替换背景,从显示的像素开始 位于2,2的xy位置。我们从那里开始,因为快到了 当然是背景的一部分,而不是产品。ImageMagick有 一个绘图命令,用于替换与图形颜色相同的像素 使用新颜色启动像素。我们使用Draw来替换背景像素 (与我们的起始像素颜色相同)使用白色像素。我们也 使用带有模糊因子的Draw,这样它也会替换不可见的像素 颜色与起始像素相似,以考虑细微的渐变 以及背景的变化

您呈现的图像已经有白色背景,因此显然您成功完成了此步骤。剩下的就是将白色像素转换为透明像素。从命令行,它是

magick UQ1U4.png -fill none -fuzz 5% -draw 'color 2,2 floodfill' out.png
这使得与(2,2)像素(靠近左上角像素)颜色相同的任何像素透明(颜色“无”)。泛光填充重新聚集与目标像素颜色匹配的任何像素,并且是目标像素或正在重新聚集的另一个像素的邻居

您可以通过PHP IMagick界面执行相同的操作:

bool Imagick::floodFillPaintImage ( mixed $fill , float $fuzz , mixed $target , int $x , int $y , bool $invert [, int $channel =magick::CHANNEL_DEFAULT ] )' 
使用与命令行中相同的参数


如果您有旧版本的ImageMagick,请使用
convert
而不是
magick
。如果您在Windows上,请使用
%%
而不是单个
%%

我正在学习polyvore工程博客。我已经做了第一步e.I.调制,但在第二步我搞不清楚怎么做。请通过链接了解我想问的问题。您需要添加一些代码,我们可以对其进行评估。先生,“bool Imagick::colorFloodfillImage(mixed$fill,float$fuzz,mixed$bordercolor,int$x,int$y)”已被弃用(@KusumGupta,谢谢,我用您的最新信息编辑了答案。