php生成ico图标透明背景变黑的解决办法

PHP与SEO 投稿&转载 92浏览 0评论

内容导读:最近发现自己的工具箱网站,图片生成ICO功能如果用的是透明背景,生成的图片会变成黑色,如果这样拿来做favicon.ico,会非常不美观的,于是在网上找到了解决办法,最后修复了这一问题,非常赞

php将图片生成ico的代码不用多说了,度娘会告诉你有很多的,只是都不能将png和gif的背景透明(如果原图是透明背景,生成ico文件后背景就变成黑色了)。这里只是简要说说如果实现让png、gif图片生成ico时实现原来的透明背景效果。

ICO图标

只需要利用两个函数imagesavealpha和imagealphablending即可达到效果,亲测无问题,下面是代码片段:

……此处省略n多代码……
$im = imagecreatefrompng($FILE['tmp_name']);
$resize_im = imagecreatetruecolor(32,32);
// 下面三行是重点,解决png、gif透明背景变黑色的问题
imagesavealpha($im, true);
imagealphablending($resize_im, false);//不合并颜色,直接用$im图像颜色替换,包括透明色;
imagesavealpha($resize_im, true);//不要丢了$resize_im图像的透明色;

imagecopyresampled($resize_im, $im, 0, 0, 0, 0, $size, $size, $imginfo[0], $imginfo[1]);
……此处省略n多代码……

本文来源:【php将图片生成ico文件时png/gif透明背景变成黑色无法透明的解决方法
思享SEO博客编辑转载,仅用于参考学习,如有侵权请联系本站修改删除!

扩展阅读

PHP怎么判断字符串是不是全是空格?

对于程序实现的某些功能,有时候会出现全部输入空格的情况,这种情况会导致程序报错。因此,在PHP中可以对这种情况进行提前判断反馈提示。那么如何实现呢? ctype_space()函数 ctype_space()函数是PHP中的字符类型(CType)函数......

PHP使用header函数301重定向无法跳转是什么原因

最近解除了tag标签robots.txt封禁,但是旧url有所修改,所以打算使用header301重定向。但是在使用过程中出现跳转失败的问题,那么,一般情况下,出现这种情况可能是什么原因呢? 解决方法: 修改php.ini; 找到 output_bu......

PHP获取当前访问的URL地址

如果你是想在WordPress中获取当前页面的的URL,可以参考:WordPress中获取当前页面URL 使用PHP编写程序的时候,我们常常想要获取当前页面的URL。下面提供一个用于获取当前页面URL的函数以及使用方法: 示例一: <?php ......

avatar
发表我的评论
取消评论

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址