返回旧版| 微信建站| 我要建站 | 建站学习 | 加入收藏
PHPCMS当前位置:首页 > cms教程 > 综合cms > PHPCMS > 正文

phpcms生成缩略图时png和gif透明格式出现黑底解决方案

发布时间:2020-08-17 08:48:33   来源:   点击:
官方的thumb方法虽然也写了相关代码,但是没有生效,上传png透明图片的时候永远是生成黑色背景的,效果如图:


所以需要对thumb方法做个改造,让他支持png和gif格式的缩略图裁剪

找到代码:phpcms\libs\classes\image.class.php 找到thumb方法,找到代码:
  1. if($type=='gif' || $type=='png') { 

 

注释掉紧跟的两行代码
  1. //$background_color  =  imagecolorallocate($thumbimg,  255, 255, 255);  //  指派一个绿色   
  2.             //imagecolortransparent($thumbimg, $background_color);  //  设置为透明色,若注释掉该行则输出绿色的图 
然后添加如下代码:
  1. $c = imagecolorallocatealpha($thumbimg, 255 , 255 , 255 , 127);//拾取一个完全透明的颜色 
  2.             imagealphablending($thumbimg, false);//关闭混合模式,以便透明颜色能覆盖原画布 
  3.             imagefill($thumbimg, 0 , 0 , $c);//填充 
  4.             imagesavealpha($thumbimg, true); 

保存,然后更新缓存即可。
说明
1、255,255,255表示白色背景,自己可以选择
2、127表示alpha透明度,0-127之间即可,127表示完全透明

缩略图效果图:


相关栏目
热门文章
最新图文
评论排行
版权所有:郑州腾石网络科技有限公司 备案信息:豫ICP备18019117号
站长QQ:2863868475 业务合作咨询:15137100750(同微信)
本站所有投放的广告是有其他网站提供,不代表本站立场,同时网站首页广告位对外出租详情咨询本站站长!同时欢迎广大站长加入个人建站团队
  • 建站客服
  • CMS仿站
  • CMS学习
  • 技术交流群:336572814