查看: 114|回复: 0

如何修改Discuz论坛头像尺寸(解决办法)

 关闭 [复制链接]

UID
111
帖子
162
威望
15 点
纹银
636 两
魔法值
0 点
在线时间
69 小时
最后登录
2025-1-6

爱我中华以坛为家

发表于 2022-12-21 14:26:33 | 显示全部楼层 |阅读模式
首先打开/uc_server/control/user.php文件,找到代码:
@unlink(UC_DATADIR.'./tmp/upload'.$uid.$filetype);
在下面添加代码:
$size = GetImageSize($bigavatarfile);//获取需要处理的文件
                if($size[2] != 1) {
                        $maxavatarpixel_w = 140;//限制头像尺寸像素 宽
                        $maxavatarpixel_h = 226;//限制头像尺寸像素 高
                        $im_from = $bigavatarfile;//创建图片来源
                        $im_info = getimagesize("$im_from");//需要处理的图片的原始地址
                        $im_width = $im_info["0"];//获取图片宽度
                        $im_height = $im_info["1"];//获取图片高度
                        $imb_width = $imb_height = 0;
                        if($im_width > $maxavatarpixel_w) {
                                $imb_width = $maxavatarpixel_w;
                                $imb_height = intval($im_height*($maxavatarpixel_w/$im_width));
                        }
                        if($im_height > $maxavatarpixel_h || $imb_height > $maxavatarpixel_h) {
                                $imb_width = intval($im_width*($maxavatarpixel_h/$im_height));
                                $imb_height = $maxavatarpixel_h;
                                if($imb_width > $maxavatarpixel_w) {
                                        $imb_height = intval($imb_height*($maxavatarpixel_w/$imb_width));
                                        $imb_width = $maxavatarpixel_w;
                                }
                        }
                        if(!$imb_width || !$imb_height) {
                                $imb_width = $im_width;
                                $imb_height = $im_height;
                        }
                        $im_out = imagecreatetruecolor($imb_width, $imb_height);//创建一个真彩色的空白图片
                        
                        if($size[2] == 3) {
                                $im_in = imagecreatefrompng($im_from);
                        } else {
                                $im_in = imagecreatefromjpeg($im_from);
                        }

                        imagecopyresampled($im_out, $im_in, 0, 0, 0, 0, $imb_width, $imb_height, $im_width, $im_height);//开始压缩图片
                        if($size[2] == 3) {//输出图片
                                imagepng($im_out, $middleavatarfile, 100);
                        } else {
                                imagejpeg($im_out, $middleavatarfile, 100);
                        }
                        chmod($middleavatarfile, 0777);
                        imagedestroy($im_in);
                        imagedestroy($im_out);//释放内存
保存后,在后台更新缓存即可。
回复

使用道具 举报

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

本版积分规则

手机版|Magic网游社团

GMT+8, 2025-1-9 18:32

Powered by Discuz! X3.4

© 2001-2017 Discuz Team.

快速回复 返回顶部 返回列表