我有几个生成的png图像:
$img = imagecreatefrompng($full_path_to_file);
imagealphablending($img , true); // setting alpha blending on
imagesavealpha($img , true); // save alphablending setting
图像很好,颜色正确,背景透明.
我需要将这些图像合二为一.为此我做了以下事情:
>创建具有正确尺寸的空白图像
$full_image = imagecreate($full_width,$full_height);
>将png图像逐个复制到空白图像上
imagecopy($full_image,$src,$dest_x,$dest_y,0,0,$src_width,$src_height)
图像组合好了.背景是透明的,但颜色不正确.
我怎样才能确保获得正确的颜色?
更新:按照建议,修复是使用imagecreatetruecolor另外,我需要将第二个参数设置为imagealphablending为false.因此,在创建png图像和创建full_image时,我会调用
imagealphablending($img , false); // updated to FALSE
imagesavealpha($img , true);
You have to unset alphablending (imagealphablending($im, false)), to
use it.
最佳答案 尝试使用:
imagecreatetruecolor而不是imagecreate.