如何在php

时间:2016-03-28 09:20:25

标签: php gd

我使用PHP代码在png背景上合并用户图像。以下是我正在使用的代码。

$width = 140; 
$height = 140; 
$bottom_image = imagecreatefrompng("bg.png"); 
$top_image = imagecreatefromjpeg("default.jpg"); 
imagesavealpha($top_image, true); 
imagealphablending($top_image, false); 
imagecopyresampled($bottom_image, $top_image, 290, 125, 0, 0, $width,     $height, $width, $height);
//imagecopy($bottom_image, $top_image, 290, 125, 0, 0, $width, $height); 
header('Content-type: image/png');
imagepng($bottom_image);

but i got this result when i save image

我想要用圆形圆圈回来的用户图像。

1 个答案:

答案 0 :(得分:1)

您正在背景图像上复制JPEG图像。

JPEG不支持透明度。

使用gd库可以做的是:

  • 创建所需大小的新结果图像,然后
  • 将JPEG(用户图片)复制到中心,然后
  • 将部分透明的PNG背景(实际为前景)复制到结果图像上。 PNG背景必须在中间具有“透明窗口”,以便用户图片不会隐藏在背景后面(换句话说,背景的白色圆圈部分必须是透明的)。