首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GDlib PHP - png to gif返回背景透明到黑色。

GDlib PHP - png to gif返回背景透明到黑色。
EN

Stack Overflow用户
提问于 2015-01-27 16:19:03
回答 1查看 903关注 0票数 0

当尝试将PNG转换为GIF时,将透明返回为黑色:

代码语言:javascript
复制
$file = "example.png"

$whf = getimagesize($file); 
$wf = $whf[0];
$hf = $whf[1];

$h = "100";
$w = "100";

$img = imagecreatetruecolor($w, $h);
$imgi = imagecreatefrompng($file);

// Here means to be some magic code...

imagecopyresampled($img, $imgi, 0, 0, 0, 0, $w, $h, $wf, $hf);
imagegif($img, "example.gif");

imagedestroy($img);

我试过的密码,但什么都没有:

1:

代码语言:javascript
复制
imagesavealpha($img, true);
imagecolortransparent($img, 127<<24);

2:

代码语言:javascript
复制
imagealphablending($img, false);
imagesavealpha($img, true);

这行得通!但只有一个细节。您需要绝对透明的背景,没有"png梯度透明“。Imagick使用一半梯度透明到绝对透明,另一半用于绝对平原。谢谢伊萨格罗!

代码语言:javascript
复制
$black = imagecolorallocate($img, 0, 0, 0);
imagecolortransparent($img, $black);    
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-27 16:25:06

我认为您需要调用图像颜色分配来获取颜色引用并将其传递给图像透明

代码语言:javascript
复制
$black = imagecolorallocate($im, 0, 0, 0);
imagecolortransparent($img, $black);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28175068

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档