KanColle © 2014 DMM.com / KADOKAWA GAMES All Rights Reserved. / Animation by © Good Smile Company
[Discuz]修改上傳頭像大小
#1
GIF圖檔無效,只適用JPG/PNG
找到
程式碼:
@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);//釋放內存
        }
回覆


前往:


正在瀏覽這個主題的使用者: 2 位訪客