我正在创建一个从外部URL中提取图像的脚本。然后我使用imagecopy()合并图像,因为它是一个透明的图像。但是,当我将X坐标指定为0以外的任何值时,它会在图像的一侧创建一个黑色区域。这是我的代码的一部分。
$src = imagecreatefrompng("URL...");
imagecopy($im, $src, 0, 0, 50, 18, 300, 300);
有什么方法可以解决这个问题吗?
答案 0 :(得分:2)
嗨,欢迎来到论坛!
您需要在这些行的中间添加这些行,以便您的结束代码应为:
$src = imagecreatefrompng("URL...");
imagealphablending($im, false);
imagesavealpha($im, true);
imagecopy($im, $src, 0, 0, 50, 18, 300, 300);
现在应该可以了!
答案 1 :(得分:0)
我花了很多年的时间为我工作,根据你的情况进行了修改但没有经过测试:
$newImg=imagecreatetruecolor($im_width,$im_height);
imagealphablending($newImg,false);
imagesavealpha($newImg,true);
$transparent = imagecolorallocatealpha($newImg, 255, 255, 255, 127);
imagefilledrectangle($newImg, 0, 0, $im_width, $im_height, $transparent);
imagecopyresampled($newImg, $im, 0, 0, 0, 0, $im_width, $im_height, $im_width, $im_height);
imagecopy($newImg, $src, 0, 0, 50, 18, 300, 300);