頭像尺寸限制

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