PHP中我們了解了那麼多關於php的知識,不知道你們對封裝水印函數有多少了解,我相信很大一部分人會不知道這部分知識點,那麼不急本篇文章就是帶領大家更深刻的去了解這個內容。
相關推薦:一分鐘學會PHP中關於封裝驗證碼
#封裝水印函數上:
我們先建立一個文件,然後開始先定義一個函數,然後有幾個資源需要寫上,緊接著預設給他一個測試,然後還有透明度,然後及時儲存空間,然後我們就開始進一步的操作,具體程式碼如下:
開啟圖片:
$sourceRes = open ($source) ; var_dump ($source) ; $waterRes=open ($water) ;
//取得圖片大小算出來位置
$sourceInfo=getimagesize ($source) ; $waterInfo = getimagesize ($water) ;
#開啟圖片的函數:
function open ($path) {
依然是定義一個函數,然後我們需要去傳一條路徑,緊接著我們判斷是否存在,
if (!file_exists ($path) ) { exit('文件不存在') ; $info=getimagesize ($path) ; //var_dump($info) ; switch ($info['mime']) ( case ' image/jpeg' : case ' image/jpg' : case ' image/pjpeg' : $res=imagecreatefromjpeg ($path) ; break; case'image/png' : $res=imagecreatefrompng ($path) ; break ; case'image/gif' : $res = imagecreatefromgif ($path) ; break; . case'image/wbmp' : case ' image/bmp' : $res=imagecreatefromwbmp ($path) ; break; } }
//算位置
switch ($position) { case1 : $x=0; $y-0; break; case 2 : $x=($sourceInfo[0] - $waterInfo[0]) / 2; $y=0; break; case 3 : $x=$sourceInfo[0] - $waterInfo[0]; $y=O; break; caso 4 : $X=0; $y = ($sourceInfo[1] - $waterInfo[]) / 2; break; case 5 : $x =($sourceInfo[0] - $waterInfo[0]), / 2; 2; $y = ($sourceInfo[1] - $waterInfo[1]) / 2; break; case 6: $x = $sourceInfo[0] - $waterInfo[0]; $y = ($sourceInfo[1] - $waterInfo[1]) / 2 break; case 7 : $x-0; $y - $sourceInfo[1] - SwaterInfo[1]; break; case 8 : $x=($sourceInfo[0] - $waterInfo[0]) / 2; $y = $sourceInfo[1] - $waterInfo[1]; break; caso 9 : $x=$sourceInfo[0] - $waterInfo[0]; $y = $sourceInfo[1] - $waterInfo[1]; break; default : $x=mt_rand(0 ,$sourceInfo[0] - $waterInfo[0]) ; $y=mt_rand(0,$sourceInfo[1] - $waterInfo[1]) ; break;
//把xy求出來的值供兩張圖片合併的時候使用
imagecopymerge () ;
相關學習影片分享:php影片教學
以上是一分鐘學會PHP中關於封裝浮水印函數的詳細內容。更多資訊請關注PHP中文網其他相關文章!