所以我在 PHP Doc 上找到了一些代码,并稍微编辑它以合并我拥有的两个图像。然后将图像保存在服务器上的文件夹中。但是有一个小问题,我无法弄清楚它为什么会发生。
首先我的代码:
$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
);
其次,关于图像的一些信息:
- 两个图像的大小完全相同
- “图案”图像只是块颜色/图案
- 框架图像在框架内具有透明部分(以允许图案显示)
- 框架周围的区域是白色的,以消除多余的图案
我希望当我将框架覆盖到图案上时,因为这些部分会产生一个窗框,里面有玻璃图案,白色会隐藏剩余的图案。
为了说明,我提供了图像。以及会发生什么。
图案:
框架:
结果:
如您所见,这并没有达到我的预期。谁能告诉我哪里出错了?我想将框架覆盖到图案上,保持透明中心并使用多余的白色覆盖图案的其余部分。任何帮助是极大的赞赏。