国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

PHP實現圖片的等比縮放和Logo水印功能示例

2024-05-04 23:57:00
字體:
來源:轉載
供稿:網友

本文實例講述了PHP實現圖片的等比縮放和Logo水印功能。分享給大家供大家參考,具體如下:

/** * 等比縮放函數(以保存的方式實現) * @param string $picname 被縮放的處理圖片源 * @param int $maxx 縮放后圖片的最大寬度 * @param int $maxy 縮放后圖片的最大高度 * @param string $pre 縮放后圖片名的前綴名 * @return String 返回后的圖片名稱(帶路徑),如a.jpg=>s_a.jpg */function imageUpdateSize($picname,$maxx=100,$maxy=100,$pre="s_"){  $info = getimageSize($picname); //獲取圖片的基本信息  $w = $info[0];//獲取寬度  $h = $info[1];//獲取高度  //獲取圖片的類型并為此創建對應圖片資源  switch($info[2]){    case 1: //gif      $im = imagecreatefromgif($picname);      break;    case 2: //jpg      $im = imagecreatefromjpeg($picname);      break;    case 3: //png      $im = imagecreatefrompng($picname);      break;    default:      die("圖片類型錯誤!");  }  //計算縮放比例  if(($maxx/$w)>($maxy/$h)){    $b = $maxy/$h;  }else{    $b = $maxx/$w;  }  //計算出縮放后的尺寸  $nw = floor($w*$b);  $nh = floor($h*$b);  //創建一個新的圖像源(目標圖像)  $nim = imagecreatetruecolor($nw,$nh);  //執行等比縮放  imagecopyresampled($nim,$im,0,0,0,0,$nw,$nh,$w,$h);  //輸出圖像(根據源圖像的類型,輸出為對應的類型)  $picinfo = pathinfo($picname);//解析源圖像的名字和路徑信息  $newpicname= $picinfo["dirname"]."/".$pre.$picinfo["basename"];  switch($info[2]){    case 1:      imagegif($nim,$newpicname);      break;    case 2:      imagejpeg($nim,$newpicname);      break;    case 3:      imagepng($nim,$newpicname);      break;  }  //釋放圖片資源  imagedestroy($im);  imagedestroy($nim);  //返回結果  return $newpicname;}//測試://echo imageUpdateSize("./images/bg.jpg",200,200,"ss_"); // ./images/s_bg.jpg
/** * 為一張圖片添加上一個logo圖片水?。ㄒ员4娴姆绞綄崿F) * @param string $picname 被處理圖片源 * @param string $logo 水印圖片 * @param string $pre 處理后圖片名的前綴名 * @return String 返回后的圖片名稱(帶路徑),如a.jpg=>n_a.jpg */function imageUpdateLogo($picname,$logo,$pre="n_"){  $picnameinfo = getimageSize($picname); //獲取圖片源的基本信息  $logoinfo = getimageSize($logo); //獲取logo圖片的基本信息  //var_dump($logoinfo);  //根據圖片類型創建出對應的圖片源  switch($picnameinfo[2]){    case 1: //gif      $im = imagecreatefromgif($picname);      break;    case 2: //jpg      $im = imagecreatefromjpeg($picname);      break;    case 3: //png      $im = imagecreatefrompng($picname);      break;    default:      die("圖片類型錯誤!");  }  //根據logo圖片類型創建出對應的圖片源  switch($logoinfo[2]){    case 1: //gif      $logoim = imagecreatefromgif($logo);      break;    case 2: //jpg      $logoim = imagecreatefromjpeg($logo);      break;    case 3: //png      $logoim = imagecreatefrompng($logo);      break;    default:      die("logo圖片類型錯誤!");  }  //執行圖片水印處理  imagecopyresampled($im,$logoim,$picnameinfo[0]-$logoinfo[0],$picnameinfo[1]-$logoinfo[1],0,0,$logoinfo[0],$logoinfo[1],$logoinfo[0],$logoinfo[1]);  //輸出圖像(根據源圖像的類型,輸出為對應的類型)  $picinfo = pathinfo($picname);//解析源圖像的名字和路徑信息  $newpicname= $picinfo["dirname"]."/".$pre.$picinfo["basename"];  switch($picnameinfo[2]){    case 1:      imagegif($im,$newpicname);      break;    case 2:      imagejpeg($im,$newpicname);      break;    case 3:      imagepng($im,$newpicname);      break;  }  //釋放圖片資源  imagedestroy($im);  imagedestroy($logoim);  //返回結果  return $newpicname;}//測試echo imageUpdateLogo("./images/bg2.jpg","./images/s_1.png");

希望本文所述對大家PHP程序設計有所幫助。


注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 合山市| 珲春市| 灵武市| 东平县| 大洼县| 方城县| 江北区| 三台县| 抚远县| 扎赉特旗| 昆山市| 郎溪县| 土默特右旗| 扶沟县| 滕州市| 淮北市| 张掖市| 保靖县| 石楼县| 盘山县| 乐平市| 宜阳县| 汉阴县| 行唐县| 乌审旗| 安图县| 白沙| 和硕县| 宁明县| 通河县| 通榆县| 海兴县| 抚顺县| 旬阳县| 开封市| 汉沽区| 宝山区| 临城县| 合肥市| 资溪县| 繁昌县|