QQ咨询 官方微信

添加微信好友

官方小程序

百度小程序

微信小程序

头条小程序

关于我们

PHPCMS

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

 admin  2022-06-03 19:30:17
官方的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表示完全透明

缩略图效果图:


¥ 打赏
×
如果您觉得文章帮助了您就打赏一下吧
非常感谢你的打赏,我们将继续分享更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏

微信扫一扫打赏

本文《phpcms生成缩略图时png和gif透明格式出现黑底解决方案》发布于石头博客文章,作者:admin,如若转载,请注明出处:https://www.pweb123.com/cms/phpcms/807.html,否则禁止转载,谢谢配合!

文章点评

我来说两句 已有0条评论
点击图片更换

添加微信好友

添加微信好友

微信小程序

百度小程序