一直感觉discuz默认的120*120大小的头像太小了,特别是当用户使用高度超过宽度的长方形头像时那么头像将会变得比较窄很难看,所以在找了下修改头像大小的方法。
Discuz!X3.2无损头像大小修改完美解决办法
https://www.discuz.1314study.com/t/109156.html
这个是通过修改camera.swf文件来实现,效果还不错,但是缺陷就是无法自由调整头像的大小,所以我没用这方法
找到uc_server/control/user.php
找到- if (!$biginfo || !$middleinfo || !$smallinfo || $biginfo[2] == 4 || $middleinfo[2] == 4 || $smallinfo[2] == 4) {
- file_exists($bigavatarfile) && unlink($bigavatarfile);
- file_exists($middleavatarfile) && unlink($middleavatarfile);
- file_exists($smallavatarfile) && unlink($smallavatarfile);
- $success = 0;
- }
- $filetype = '.jpg';
复制代码
在下面添加- //对头像大图处理
- if($biginfo[0]>133 || $biginfo[1]>180){
- if(133/180 > $biginfo[0]/$biginfo[1]){
- $_h = 180;
- $_w = $biginfo[0] * 180 / $biginfo[1];
- }else{
- $_w = 133;
- $_h = $biginfo[1] * 133 / $biginfo[0];
- }
- $_im = imagecreatetruecolor($_w, $_h);
- $_bg = imagecolorallocate($_im, 255, 255, 255);
- imagefill($_im, 0, 0, $_bg);
- $_im2 = imagecreatefromjpeg($bigavatarfile);
- imagecopyresampled($_im, $_im2 ,0, 0, 0, 0,$_w,$_h,$biginfo[0], $biginfo[1]);
- imagedestroy($_im2);
- clearstatcache();
- imagejpeg($_im,$bigavatarfile,100);
- imagedestroy($_im);
- }
- //对头像大图处理
复制代码
这里的133和180是我设置的头像的宽高,这样的大小我感觉还不错
效果感觉还不错。。。。
|