原图是这样
想要把其中的绿色变为透明的,但只透明左上角了一处这是代码: $imgCrop = imagecrop($background, array('x' => (int)($_SESSION[$this->sessionXname]),'y' => (int)($_SESSION[$this->sessionYname]), 'width' => $smX, 'height' => $smY));
//裁剪图片,将前景图周围的多余的裁剪掉,剩下一个前景图
$c = imagecolorallocatealpha($imgCrop, 0 , 0 , 0 , 127);//拾取一个完全透明的颜色
imagealphablending($imgCrop, false);//关闭混合模式,以便透明颜色能覆盖原画布
imagefill($imgCrop, 0 , 0 , $c);//填充
imagesavealpha($imgCrop, true);//设置保存PNG时保留透明通道信息
imagepng($imgCrop);
imagedestroy($imgCrop);
想要把其中的绿色变为透明的,但只透明左上角了一处这是代码: $imgCrop = imagecrop($background, array('x' => (int)($_SESSION[$this->sessionXname]),'y' => (int)($_SESSION[$this->sessionYname]), 'width' => $smX, 'height' => $smY));
//裁剪图片,将前景图周围的多余的裁剪掉,剩下一个前景图
$c = imagecolorallocatealpha($imgCrop, 0 , 0 , 0 , 127);//拾取一个完全透明的颜色
imagealphablending($imgCrop, false);//关闭混合模式,以便透明颜色能覆盖原画布
imagefill($imgCrop, 0 , 0 , $c);//填充
imagesavealpha($imgCrop, true);//设置保存PNG时保留透明通道信息
imagepng($imgCrop);
imagedestroy($imgCrop);
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货