Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP:使用GD将图像合并为alpha半透明图像_Php_Image Processing_Transparency_Gd - Fatal编程技术网

PHP:使用GD将图像合并为alpha半透明图像

PHP:使用GD将图像合并为alpha半透明图像,php,image-processing,transparency,gd,Php,Image Processing,Transparency,Gd,我正在尝试使用GD创建一个具有不同透明度的图像。但我只能在图像中得到完全透明或完全不透明的像素 我想要得到的:我实际得到的: (来源:) (来源:) (来源:) (来源:) 这是我用来创建像这样的图像的一段代码▲ 固定代码: $im=imagecreatetruecolor($sx,$sy) imageantialias($im,true) imagesavealpha($im,true) $c00FF00=imagecolorallocate($im,0255,0) $cFFFFFF

我正在尝试使用GD创建一个具有不同透明度的图像。但我只能在图像中得到完全透明或完全不透明的像素

我想要得到的:我实际得到的:

(来源:)


(来源:)


(来源:)


(来源:)

这是我用来创建像这样的图像的一段代码▲ 固定代码:

$im=imagecreatetruecolor($sx,$sy)
imageantialias($im,true)
imagesavealpha($im,true)

$c00FF00=imagecolorallocate($im,0255,0)
$cFFFFFF=imagecolorallocate($im,255255)
$cFFFFFF_00=imagecolorallocatealpha($im,255255127)
imagecolortransparent($im,$cFFFFFF)

imagefilledrectangle($im,0,0,$sx,$sy,
$cFFFFFF
$cFFFFFF\u 00)


要获得所需的(半透明)结果,我可以做些什么?

您需要的不是透明度,而是alpha。Alpha是另一个颜色通道,它与红色、绿色和蓝色一起确定透明度级别(与设置透明度级别相对,仅透明是可见还是不可见)。查看在合并之前,您需要对导入的PNG($sim)以及最终图像调用
imagesavealpha()

这并不能回答问题。。。至少,你给了我一个提示,我应该编辑titleSorry,我以为你是想给文本增加透明度,在这种情况下,你应该在设置$c00FF00变量时使用imagecolorallocatealpha。您在请求中输入的图像只是给了我一个超时错误,因此我无法看到示例图像。我需要对其进行实验,因为现在我得到了一个相反的结果:带有透明图像的白色背景:D
$sim=imagecreatefrompng('gradient.png');
imagecopy($im,$sim,$dest_x,$dest_y,0,0,imagesx($sim),imagesy($sim));
imagedestroy($sim);

imagettftext($im,$size,0,$text_x,$text_y,$c00FF00,$font,'Test');

header('Content-type: image/png');
imagepng($im);
imagedestroy($im);