我在使用 GD 库向图像添加水印时遇到问题,相同的代码在我的本地 Ubuntu 服务器上运行良好,该服务器具有 PHP 版本 5.4.6-1ubuntu1.4 和 GD 版本 2.0,但在结束后为图像生成黑色背景水印图像,我的网站托管在 hostgator 上,我还升级了服务器以使用 PHP 版本 5.4.20 和 GD 版本捆绑(2.1.0 兼容),但仍然是同样的问题。
以下是适用于本地服务器但在服务器上生成黑色图像的代码
imagecreatefromjpeg($img);
$targetImage = imagecreatetruecolor($width, $height);
$watermark = imagecreatefrompng($watermark_src);
imagealphablending($watermark, true);
//imagesavealpha($watermark, true);
$black = imagecolorallocate($watermark, 0, 0, 0);
imagecolortransparent($watermark, $black);
imagecopy($img, $watermark, $final_x, $final_y, 0, 0, $W, $H);
imagedestroy($img);
imagejpeg($img);
此外,我尝试对服务器代码进行许多更改,例如删除添加 imagesaveaplha 等黑色变量的代码,但仍然没有运气。
函数的变量名称可能不同,因为该过程使用多个函数来完成任务,但顺序与我上面写的相同。如果我单独运行它,代码也可以正常工作,但是当我将它与我的 joomla 组件一起使用时,它会出现黑色背景问题