【问题标题】:Placing a Transparent PNG onto another Transparent PNG (Bottom Image not showing)将透明 PNG 放置在另一个透明 PNG 上(下图未显示)
【发布时间】:2019-12-12 11:58:47
【问题描述】:

我有两张图片。我将 imageA 放在 imageB 上。但是,这会导致底部图像 (imageB) 颜色不显示。相反,imageA 的透明部分覆盖了 imageB。

$dest = imagecreatefrompng(6.png'); (96x96)
$src = imagecreatefrompng(5.png');

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

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

imagecopy($dest, $src, 10, 30, 0, 0, 40, 40);

ob_start();
imagepng($dest);
$imgswap = ob_get_clean();
imagedestroy($dest);

https://i.imgur.com/S3lSQDl.png //img 这里(我没有足够的声望直接链接)

如您所见,透明(本示例中为清楚起见为白色像素)正在越过 marios 面部。有什么想法吗?

【问题讨论】:

    标签: php image png gdlib


    【解决方案1】:

    来自文档 (https://www.php.net/manual/en/function.imagecolortransparent.php):“仅使用 imagecopymerge() 和真彩色图像复制透明度,而不使用 imagecopy() 或调色板图像。”

    尝试:https://www.php.net/manual/en/function.imagecopymerge.php,即使它在 cmets 中说它不支持 aplha。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-11-26
      • 2011-06-22
      • 1970-01-01
      • 1970-01-01
      • 2023-04-08
      • 1970-01-01
      • 2012-03-25
      • 1970-01-01
      相关资源
      最近更新 更多