【问题标题】:imagecopymerge is giving me dark patchimagecopymerge 给了我黑暗的补丁
【发布时间】:2014-02-21 05:37:34
【问题描述】:

我正在尝试合并两个图像。 features7.png 具有透明背景。但最终的图像如下所示,带有一个黑色的补丁:

这里是代码:请帮助:

$src = imagecreatefrompng('images/featured7.png');
$dest = imagecreatefromjpeg('images/1.jpg');
imagealphablending($dest, false);
imagesavealpha($dest, true);
imageColorAllocateAlpha($dest, 0, 0, 0, 127);
imagecopymerge($dest, $src, 0, 0, 0, 0, 90, 90, 100);
header('Content-Type: image/png');
imagepng($dest);
imagedestroy($dest);
imagedestroy($src);

新修改的代码如下:但给出了相同的结果,只是小图像移到了更右中心:

$img1 = imagecreatefrompng('images/featured7.png');
$img2 = imagecreatefrompng('images/1.jpg');
$image = imagecreatefromjpeg("images/1.jpg"); //
$image1 = imagecreatefrompng("images/featured7.png");//
$size = getimagesize("images/featured7.png");
$overlay = imagecreatetruecolor(80, 80);
$white = imagecolorallocate($overlay, 229, 229, 229);
imagefilledrectangle($overlay, 0, 0, 80, 80, $white);
imagecolortransparent($overlay,$white);  
imagecopy($overlay, $image1, (80-$size[0])/2, (80-$size[1])/2, 0, 0,   $size[0],$size[1]);
imagecopymerge($image, $image1, 280, 30, 0, 0, 80, 80, 100);
header('Content-Type: image/png');
imagepng($image);
imagedestroy($image);

这是两张图片:

【问题讨论】:

    标签: php image gd imagecreatefrompng


    【解决方案1】:

    我之前遇到过同样的问题,我喜欢这个解决方案,请在这里查看我的问题和答案:

    PHP imagecopymerge source image's background change transparent to black 在你的例子中使用这个:

    $dit = imagecreatefromjpeg("./dst.jpg"); //
    $source = imagecreatefrompng("./source.png");//
    $size = getimagesize("./source.png");
    imagecopy($dit, $source, 0,0, 0, 0, $size[0], $size[1]);
    header('Content-Type: image/jpeg');
    imagejpeg($dit);
    imagedestroy($dit);
    

    【讨论】:

    • 我更新了代码,请检查.. thnx 寻求您的帮助,请进一步告诉我..
    • @Srikanta,如果还有问题,请给我这两张图片的源链接
    • 仅本地系统中的所有图像,小图像(featured.png)大小为 90*90,它是透明背景的 png 图像...对于大图像,sixe 为 500* 360 jpg
    • @Srikanta,您可以将您的两张图片发布给您的问题,就像我发布的问题一样
    • 已发帖,请查收
    猜你喜欢
    • 1970-01-01
    • 2013-10-09
    • 1970-01-01
    • 2015-05-21
    • 2012-02-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多