如何使用PHP将透明PNG与图像合并?
情况是这样的:我有一张50x50的小照片。我还有一个小的50x50透明图片,其中包含一个50x50图片的框架,所以我基本上想把透明的png放在图片的顶部,并合并这两个图片,最终生成第三张图片,看起来像这样: 注意:我不想只使用HTML(我通过编写一个javascript插件将透明的png放在原始图像的顶部来实现这一点)如何使用PHP将透明PNG与图像合并?,php,image,merge,resize,png,Php,Image,Merge,Resize,Png,情况是这样的:我有一张50x50的小照片。我还有一个小的50x50透明图片,其中包含一个50x50图片的框架,所以我基本上想把透明的png放在图片的顶部,并合并这两个图片,最终生成第三张图片,看起来像这样: 注意:我不想只使用HTML(我通过编写一个javascript插件将透明的png放在原始图像的顶部来实现这一点) 谢谢。您可以使用。第一个用户提供的注释应该足以理解这个概念。您可以使用PHP GD2库将两个图像合并在一起 例如: <?php # If you don't know t
谢谢。您可以使用。第一个用户提供的注释应该足以理解这个概念。您可以使用PHP GD2库将两个图像合并在一起 例如:
<?php
# If you don't know the type of image you are using as your originals.
$image = imagecreatefromstring(file_get_contents($your_original_image));
$frame = imagecreatefromstring(file_get_contents($your_frame_image));
# If you know your originals are of type PNG.
$image = imagecreatefrompng($your_original_image);
$frame = imagecreatefrompng($your_frame_image);
imagecopymerge($image, $frame, 0, 0, 0, 0, 50, 50, 100);
# Save the image to a file
imagepng($image, '/path/to/save/image.png');
# Output straight to the browser.
imagepng($image);
?>
添加imagealphabling($frame,true)如果您想在图像上保持PNG帧的透明度,请在imagecopymerge()之前执行code>。图像的透明区域仍然为白色。我得到了同样的结果。有没有解决办法?我试过了,但是我的透明镜框中间变白了。您可能想添加标题('Content-Type:image/png')代码>在最后一行之前,确保将正确的MIME类型发送到浏览器这对我也不起作用,它似乎无法保存alpha通道。我还尝试添加下面用户提到的alpha混合标志。