【插件資訊】插件名稱:頭像尺寸限制
適用版本:7.0
語言編碼:通用
插件作者:殺人狂
版權所屬:殺人狂
原帖連結:
http://www.alan888.com/Discuz/...-1-6.html###支持網站:
http://www.alan888.com/Discuz/...-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);//釋放內存
                }