PHP imagecopy():设置X坐标会使黑色区域变黑

PHP imagecopy():设置X坐标会使黑色区域变黑,php,Php,我正在制作一个脚本,从外部URL中提取图像。然后我使用imagecopy()合并图像,因为它是一个透明图像。但是,当我将X坐标指定为除0以外的任何值时,它会在图像的侧面创建一个黑色区域。这是我的部分代码 $src = imagecreatefrompng("URL..."); imagecopy($im, $src, 0, 0, 50, 18, 300, 300); 有没有办法解决这个问题?大家好,欢迎来到论坛 你需要在这些中间添加这些行,这样你的结束代码应该是: $src = imagecr

我正在制作一个脚本,从外部URL中提取图像。然后我使用imagecopy()合并图像,因为它是一个透明图像。但是,当我将X坐标指定为除0以外的任何值时,它会在图像的侧面创建一个黑色区域。这是我的部分代码

$src = imagecreatefrompng("URL...");
imagecopy($im, $src, 0, 0, 50, 18, 300, 300);

有没有办法解决这个问题?

大家好,欢迎来到论坛

你需要在这些中间添加这些行,这样你的结束代码应该是:

$src = imagecreatefrompng("URL...");
imagealphablending($im, false);
imagesavealpha($im, true);
imagecopy($im, $src, 0, 0, 50, 18, 300, 300);

现在应该可以了

我花了很长时间让透明度为我工作,为您的案例进行了修改,但未经测试:

$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);

它仍然不工作,现在图像的黑色条旁边有一个白色背景。你是从哪里来的?你只是想调整尺寸吗?我没有调整任何尺寸。我正在使用的URL是我正在合并并输出到php.net手册页面,看起来您需要添加
imagecreatetruecolor(80,40)函数。你发布的是完整的代码吗?如果是,请查看: