头像尺寸限制

Home Home
引用 | 编辑 香吉士
2009-09-30 19:02
楼主
推文 x0
【插件资讯】

插件名称:头像尺寸限制
适用版本:7.0
语言编码:通用
插件作者:杀人狂
版权所属:杀人狂
原帖连结:http://www.alan888.com/Discuz/thread-170003-1-6.html###
支持网站:http://www.alan888.com/Discuz/thread-170003-1-6.html###

【插件说明】

限制头像尺寸, 使会员头像在指定宽度及高度内

UC目录/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);//释放内存
                }


献花 x0