注:大神请自行飘过,不要笑话!
PHP生成ICO的源码在网上随便一搜到处都是,但是全部都是同一个版本,这个版本带了一大堆多余的代码不说,最重要的是同一个BUG:用PNG图片生成图标的时候不会透明,加上一个黑色的背景丑的要死。
经过查阅大量的资料,多次尝试(因为技术太菜只能一遍遍的测试),最终解决了这个问题,将解决过程记录如下:
备注:网上搜索到的大多数解决方案没能解决我的问题,不知道是不是我的方法不对:
伸手党可以直接戳这里下载就行:https://download.youkuaiyun.com/download/sloafer/11013205
下面直接上正确的修改代码,说的多了容易头晕。
原有的两行:
$tmp = imagecreatetruecolor($newwidth,$newheight);//创建新画布
imagecopyresampled($tmp,$image,0,0,0,0,$newwidth,$newheight,$width,$height); //处理图片到新尺寸
修改后的效果如下:
$tmp = imagecreatetruecolor($newwidth,$newheight);
/* --- 用以处理缩放gif和png图透明背景变黑色问题 开始 --- */
$color = imagecolorallocatealpha($tmp,0, 0, 0, 127);
imagecolortransparent($tmp,$color

这篇博客主要记录了作者如何解决使用PHP生成ICO图标时PNG格式文件透明背景无法保留的问题。通过多次尝试和研究,作者找到了问题所在,并分享了修正后的代码,成功实现了背景透明的ICO图标生成。文章还提到了常见的错误和解决方法。
最低0.47元/天 解锁文章
713

被折叠的 条评论
为什么被折叠?



