我正在使用php中的imagick来修改上传的图片。我想要去掉图片周围的白色,使其具有透明背景。可以使用以下代码:
$val = 65535/15;
$val = intval($val/1);//divide by 1 means accept full fuzz at the moment
$image->paintTransparentImage("rgb(255,255,255)", 0.0, intval(1*$val);
然而,如果我上传的是一张有着洁白牙齿的人的照片,它会让他们的牙齿消失!那么我是否有什么方法可以防止这种情况发生,或者我应该放弃这个想法?
paintTransparentImage()
函数中的模糊度测量并不像魔术棒一样的选择工具,它是一种颜色容差测量。它会将图像中所有指定颜色(在模糊度容差范围内)的像素转换为透明。 - Orbling