返回列表 发帖
查看: 1290|回复: 1

Discuz修复PNG透明图片生成缩略图时背景变黑的BUG

17

主题

568

回帖

1816

积分

应用开发者

贡献
63 点
金币
902 个
QQ
发表于 2022-10-22 01:07:15 | 显示全部楼层 |阅读模式
解决手机版png透明图片黑底问题

打开 source\class\class_image.php

找到这个函数(所有修改都在这个函数内)
  1. function Thumb_GD() {
复制代码
下边找到
  1. $copy_photo = imagecreatetruecolor($this->imginfo['width'], $this->imginfo['height']);
  2. imagecopy($copy_photo, $attach_photo , 0, 0, 0, 0, $this->imginfo['width'], $this->imginfo['height']);
  3. $attach_photo = $copy_photo;
复制代码
改为
  1. if($this->imginfo['mime'] != 'image/png') {
  2.         $copy_photo = imagecreatetruecolor($this->imginfo['width'], $this->imginfo['height']);
  3.         imagecopy($copy_photo, $attach_photo , 0, 0, 0, 0, $this->imginfo['width'], $this->imginfo['height']);
  4.         $attach_photo = $copy_photo;
  5. }
复制代码
找到(三处)
  1. $thumb_photo = imagecreatetruecolor
复制代码
下边添加
  1. if($this->imginfo['mime'] == 'image/png') {
  2.         imagealphablending($thumb_photo, false);
  3.         imagesavealpha($thumb_photo, true);
  4. }
复制代码

回复

使用道具 举报

285

主题

1179

回帖

1568

积分

已臻大成

贡献
3 点
金币
0 个
发表于 2022-10-23 14:55:13 来自手机 | 显示全部楼层
史诗级攻略,修复我头疼一年多的顽疾,感谢
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 关注公众号
  • 有偿服务微信
  • 有偿服务QQ

手机版|小黑屋|Discuz! 官方交流社区 ( 皖ICP备16010102号 |皖公网安备34010302002376号 )|网站地图|star

GMT+8, 2024-4-24 21:23 , Processed in 0.030600 second(s), 6 queries , Redis On.

Powered by Discuz! W1.0 Licensed

Cpoyright © 2001-2024 Discuz! Team.

关灯 在本版发帖
有偿服务QQ
有偿服务微信
返回顶部
快速回复 返回顶部 返回列表