我在PHP文档中找到了一些代码,稍微编辑后将两张图片合并。然后将图像保存在服务器上的一个文件夹中。但是出现了一个小问题,我无法弄清楚为什么会发生。
首先是我的代码:
$glassurl = $_GET['GlassImg'];
$frameurl = $_GET['FrameImg'];
$filename = (int)date("H:i:s");
$src = imagecreatefromgif($frameurl);
$dest = imagecreatefromjpeg($glassurl);
imagecolortransparent($src, imagecolorat($src, 0, 0));
imagealphablending($dest, false);
imagesavealpha($dest, true);
imagealphablending($src, false);
imagesavealpha($src, true);
$src_x = imagesx($src);
$src_y = imagesy($src);
imagecopymerge($dest, $src, 0, 0, 0, 0, $src_x, $src_y, 100);
// Output and free from memory
imagepng($dest, 'uploads/imagetest.png');
imagegif($dest);
imagedestroy($dest);
imagedestroy($src
);
其次是有关图像的一些信息:
- 两个图像的大小完全相同
- 'pattern'图像只是一个块状颜色/图案
- 框架图像在框架内具有透明部分(允许图案显示出来)
- 框架周围的区域为白色,以隐藏多余的图案
为了说明,我提供了图片和结果。
图案:
![pattern](https://istack.dev59.com/jD3Ck.webp)
![frame](https://istack.dev59.com/JZNIF.webp)
![result](https://istack.dev59.com/WuACC.webp)