Php 使用gd库更改衬衫颜色

Php 使用gd库更改衬衫颜色,php,gd,Php,Gd,我想改变衬衫的颜色。这是我最简单的代码 $imgname = "me.jpg"; $im = imagecreatefromjpeg ($imgname); imagetruecolortopalette($im,false, 255); $index = imagecolorclosest ( $im, 96, 132, 194 ); // get COlor imagecolorset($im,$index,92,92,92); // SET NEW COLOR $imgname = "

我想改变衬衫的颜色。这是我最简单的代码

$imgname = "me.jpg";
$im = imagecreatefromjpeg ($imgname);
imagetruecolortopalette($im,false, 255);

$index = imagecolorclosest ( $im, 96, 132, 194 ); // get COlor
imagecolorset($im,$index,92,92,92); // SET NEW COLOR

$imgname = "result.jpg";
imagejpeg($im, $imgname ); // save image as gif
//imagedestroy($im);
但是这个代码只改变特定的颜色。您可以在附加的图像中看到。


我想把整件衬衫的颜色从蓝色改成灰色。是否可以使用GD库或任何其他库?如果是,如何使用GD来实现这一点就像使用链锯切面包一样。一个更简单(我认为更好)的处理方法是让衬衫是一个透明的PNG,在正确的位置有透明的阴影。然后,您可以使用任意数量的免费颜色选择器简单地更改图像容器的背景色。因为衬衫是透明的,所以它会变成背景的颜色(蓝色、灰色等等)。一旦用户选择了一种有效的颜色,您就可以将该十六进制颜色与其他订单信息(大小等)一起传递到后端

使用GD来完成这一点就像使用链锯切面包一样。一个更简单(我认为更好)的处理方法是让衬衫是一个透明的PNG,在正确的位置有透明的阴影。然后,您可以使用任意数量的免费颜色选择器简单地更改图像容器的背景色。因为衬衫是透明的,所以它会变成背景的颜色(蓝色、灰色等等)。一旦用户选择了一种有效的颜色,您就可以将该十六进制颜色与其他订单信息(大小等)一起传递到后端

为此,您可能需要ImageMagick。即使在那里也不容易。请添加更多背景-为什么需要自动执行此操作?我认为您不会找到自动执行此操作的库,因为背景中有太多蓝色,除非您使用遮罩将更改仅应用于衬衫。您问题的标题只是awesome@pekka事实上,我想让用户在线设计衬衫。我有不同种类的衬衫。我希望我的用户选择衬衫的颜色。我将使用带透明背景的png。@很神秘,但您上面显示的图像不是带透明背景的png,是吗?您可能需要ImageMagick。即使在那里也不容易。请添加更多背景-为什么需要自动执行此操作?我认为您不会找到自动执行此操作的库,因为背景中有太多蓝色,除非您使用遮罩将更改仅应用于衬衫。您问题的标题只是awesome@pekka事实上,我想让用户在线设计衬衫。我有不同种类的衬衫。我希望我的用户选择衬衫的颜色。我将使用带透明背景的png。@很神秘,但您上面显示的图像不是带透明背景的png,是吗?