百度 “美日匯”/** * 等比縮放函數(以儲存的方式實現) * @param string $picName 被縮放的處理圖片源 * @param int $maxx 縮放後圖片的最大寬度 * @param int $maxy 縮放後圖片的最大高度 * @param string $pre 縮放後圖片名的首碼名 * @return String 返回後的圖片名稱(帶路徑),如a.jpg=>s_a.jpg */function imageNewageUpdateSize($picName,$maxx=100,$maxy=100,$pre="s_"){$imageNewageInfo = getimageNewageSize($picName); //擷取圖片的基本資料$w = $imageNewageInfo[0];//擷取寬度$h = $imageNewageInfo[1];//擷取高度//擷取圖片的類型並為此建立對應圖片資源switch($imageNewageInfo[2]){case 1: //gif$imageNew = imageNewagecreatefromgif($picName);break;case 2: //jpg$imageNew = imageNewagecreatefromjpeg($picName);break;case 3: //png$imageNew = imageNewagecreatefrompng($picName);break;default:die("圖片類型錯誤!");}//計算縮放比例if(($maxx/$w)>($maxy/$h)){$b = $maxy/$h;}else{$b = $maxx/$w;}//計算出縮放後的尺寸$nw = floor($w*$b);$nh = floor($h*$b);//建立一個新的映像源(靶心圖表像)$nimageNew = imageNewagecreatetruecolor($nw,$nh);//執行等比縮放imageNewagecopyresampled($nimageNew,$imageNew,0,0,0,0,$nw,$nh,$w,$h);//輸出映像(根據源映像的類型,輸出為對應的類型)$picimageNewageInfo = pathimageNewageInfo($picName);//解析源映像的名字和路徑資訊$newpicName= $picimageNewageInfo["dirname"]."/".$pre.$picimageNewageInfo["basename"];switch($imageNewageInfo[2]){case 1:imageNewagegif($nimageNew,$newpicName);break;case 2:imageNewagejpeg($nimageNew,$newpicName);break;case 3:imageNewagepng($nimageNew,$newpicName);break;}//釋放圖片資源imageNewagedestroy($imageNew);imageNewagedestroy($nimageNew);//返回結果return $newpicName;}//調用echo imageNewageUpdateSize("./imageNewages/leyangjun.jpg",400,400,"ss_"); //你自己要添加的圖片/** * 為一張圖片添加上一個logo圖片浮水印(以儲存的方式實現) * @param string $picName 被處理圖片源 * @param string $logo 浮水印圖片 * @param string $pre 處理後圖片名的首碼名 * @return String 返回後的圖片名稱(帶路徑),如a.jpg=>n_a.jpg */function imageNewageUpdateLogo($picName,$logo,$pre="n_"){$picNameimageNewageInfo = getimageNewageSize($picName); //擷取圖片源的基本資料$logoimageNewageInfo = getimageNewageSize($logo); //擷取logo圖片的基本資料//var_dump($logoimageNewageInfo);//根據圖片類型建立出對應的圖片源switch($picNameimageNewageInfo[2]){case 1: //gif$imageNew = imageNewagecreatefromgif($picName);break;case 2: //jpg$imageNew = imageNewagecreatefromjpeg($picName);break;case 3: //png$imageNew = imageNewagecreatefrompng($picName);break;default:die("圖片類型錯誤!");}//根據logo圖片類型建立出對應的圖片源switch($logoimageNewageInfo[2]){case 1: //gif$logoimageNew = imageNewagecreatefromgif($logo);break;case 2: //jpg$logoimageNew = imageNewagecreatefromjpeg($logo);break;case 3: //png$logoimageNew = imageNewagecreatefrompng($logo);break;default:die("logo圖片類型錯誤!");}//執行圖片浮水印處理 源圖的高-logo圖的高 源圖的寬-logo圖的寬imageNewagecopyresampled($imageNew,$logoimageNew,$picNameimageNewageInfo[0]-$logoimageNewageInfo[0],$picNameimageNewageInfo[1]-$logoimageNewageInfo[1],0,0,$logoimageNewageInfo[0],$logoimageNewageInfo[1],$logoimageNewageInfo[0],$logoimageNewageInfo[1]);//輸出映像(根據源映像的類型,輸出為對應的類型)$picimageNewageInfo = pathimageNewageInfo($picName);//解析源映像的名字和路徑資訊$newpicName= $picimageNewageInfo["dirname"]."/".$pre.$picimageNewageInfo["basename"];switch($picNameimageNewageInfo[2]){case 1:imageNewagegif($imageNew,$newpicName);break;case 2:imageNewagejpeg($imageNew,$newpicName);break;case 3:imageNewagepng($imageNew,$newpicName);break;}//釋放圖片資源imageNewagedestroy($imageNew);imageNewagedestroy($logoimageNew);//返回結果return $newpicName;}//測試//echo imageNewageUpdateLogo("./imageNewages/leyangjun.jpg","./imageNewages/logo.png"); //對應添加你的圖片,和你的logo浮水印圖片 OK