答案 0 :(得分:1)
您正在关注的polyvore教程
接下来,我们用白色替换背景,从像素开始 位于2,2的xy位置。我们从那里开始,因为它差不多 肯定是背景的一部分,而不是产品。 ImageMagick有 一个Draw命令,用于替换与颜色相同的像素 用新颜色开始像素。我们使用Draw来替换背景像素 (与我们的起始像素颜色相同的那些)具有白色像素。我们也 使用具有模糊因子的绘制,以便它也替换像素 与起始像素的颜色相似,以解释细微的渐变 和背景的变化。
您呈现的图像已经具有白色背景,显然您已成功完成此步骤。剩下的就是将白色像素转换为透明。从命令行,它的
magick UQ1U4.png -fill none -fuzz 5% -draw 'color 2,2 floodfill' out.png
这使得与(2,2)像素(靠近左上角像素)颜色相同的任何像素都是透明的(颜色"无")。 Floodfill会重新处理与目标像素的颜色匹配的任何像素,并且是目标像素或正在重新着色的另一个像素的邻居。
您可以通过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,请使用%%
而不是%
。