小白修改PHP生成ICO源码彻底解决生成图标或PNG格式文件透明背景全过程

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

注:大神请自行飘过,不要笑话!

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值