使用PHP将PNG图像(在photoshop中制作,具有透明度)覆盖到JPG上

使用PHP将PNG图像(在photoshop中制作,具有透明度)覆盖到JPG上,php,image,image-processing,Php,Image,Image Processing,我有两张照片。我需要在jpeg上放置一个带有透明层的png图像 此代码将图像保存在目录中为“merged.png”,而不是显示它- <?php header("Content-Type: image/png"); $width = 200; $height = 200; $base_image = imagecreatefromjpeg("image.jpg"); $top_image = imagecreatefrompng("miod.png"); $merged_image = "

我有两张照片。我需要在jpeg上放置一个带有透明层的png图像

此代码将图像保存在目录中为“merged.png”,而不是显示它-

<?php
header("Content-Type: image/png");
$width = 200;
$height = 200;

$base_image = imagecreatefromjpeg("image.jpg");
$top_image = imagecreatefrompng("miod.png");
$merged_image = "merged.png";

imagesavealpha($top_image, true);
imagealphablending($top_image, true);

imagecopy($base_image, $top_image, 100, 100, 100, 100, $width, $height);
imagepng($base_image, $merged_image);
?>

-如何在页面上显示它?

有两种主要的操作模式。使用单个参数,它将直接输出文件,因此它将显示在浏览器中。有了两个参数,它会将第一个参数中的图像保存到第二个参数中给定的文件中

所以——只需删除第二个参数,事情就会很顺利:

 imagepng($base_image);

试一试:您是否也尝试为
$base\u image
设置
imagealphabling
?如果您只设置
imagepng($base\u image),会发生什么情况?imagepng的第二个参数是要保存到的文件;没有参数,它直接输出。它工作:)格雷西亚斯!酷。我把我的猜测作为一个答案,现在我们知道它是正确的:)