我无法在 imagecopymerge 中使用透明背景
我正在调用 imagecopymerge($dst_r, $logo, 0, 0, 0, 0, $LogoX, $LogoY, 100);
其中 $logo
是一个 png 文件透明背景。由于某种原因,背景变成白色。
我做错了什么?
谢谢。
I am calling imagecopymerge($dst_r, $logo, 0, 0, 0, 0, $LogoX, $LogoY, 100);
where $logo
is a png file with transparent background. From some reason the background comes out white instead.
What am I doing wrong?
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您需要使用
imagealphablending($dst_r, TRUE);
来允许复制并保留透明颜色。手册中的许多更多评论 (...) 建议使用imagecopy
相反,因为 imagecopymerge 从来没有打算以透明方式使用。如果您无论如何都使用pct=100
,那么普通的图像复制可能是一个选择。You need to use
imagealphablending($dst_r, TRUE);
to allow copying with retaining the transparent colors. Many more comments (...) in the manual suggest usingimagecopy
instead, because imagecopymerge was never intended to be used with transparency. If you usepct=100
anyway, then the normal imagecopy might be an option.这是针对文本的,但您可以明白要点。如果您发布完整的代码会更有帮助。
This is for text, but you can get the point. It would be more helpful if you post entire code.