久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

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

這篇文章主要介紹了PHP實現圖片的等比縮放和Logo水印功能,結合實例形式分析了php圖片等比例縮放及logo水印添加操作技巧,需要的朋友可以參考下

本文實例講述了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圖片水印(以保存的方式實現)
 * @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");

PS:這里再為大家推薦幾款比較實用的圖片處理工具供大家參考使用:

在線圖片轉換BASE64工具:
http://tools.jb51.net/transcoding/img2base64

ICO圖標在線生成工具:
http://tools.jb51.net/aideddesign/ico_img

在線Email郵箱圖標制作工具:
http://tools.jb51.net/email/emaillogo

在線圖片格式轉換(jpg/bmp/gif/png)工具:
http://tools.jb51.net/aideddesign/picext

更多關于PHP相關內容感興趣的讀者可查看本站專題:《PHP圖形與圖片操作技巧匯總》、《PHP基本語法入門教程》、《PHP運算與運算符用法總結》、《php面向對象程序設計入門教程》、《PHP網絡編程技巧總結》、《PHP數組(Array)操作技巧大全》、《php字符串(string)用法總結》、《php+mysql數據庫操作入門教程》及《php常見數據庫操作技巧匯總》

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

【網站聲明】本站除付費源碼經過測試外,其他素材未做測試,不保證完整性,網站上部分源碼僅限學習交流,請勿用于商業用途。如損害你的權益請聯系客服QQ:2655101040 給予處理,謝謝支持。

相關文檔推薦

1、PbootCMS后臺正常使用,ueditor編輯界面可以顯示, 但單圖片上傳按鈕點擊沒反應,多圖片上傳顯示后臺配置項返回格式出錯,上傳功能將不能正常使用! 2、打開瀏覽器調試模式,顯示
這篇文章主要介紹了PHP有序表查找之插值查找算法,簡單分析了插值查找算法的概念、原理并結合實例形式分析了php實現針對有序表插值查找的相關操作技巧,需要的朋友可以參考下
下面小編就為大家分享一篇ThinkPHP整合datatables實現服務端分頁的示例代碼,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
下面小編就為大家分享一篇PHP實現APP微信支付的實例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
這篇文章主要介紹了PHP實現的多維數組排序算法,結合實例形式對比分析了php針對多維數組及帶有鍵名的多維數組進行排序相關操作技巧與注意事項,需要的朋友可以參考下
這篇文章主要為大家詳細介紹了php結合ajaxuploadfile實現無刷新文件上傳功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
主站蜘蛛池模板: 日韩国产一区二区 | 在线看亚洲 | 国产精品欧美一区喷水 | 农村黄性色生活片 | 国产视频一区在线 | 午夜寂寞福利视频 | 精品国产一区二区三区免费 | 久久久久国产一级毛片高清网站 | 天天操天天干天天爽 | 亚洲精品国产成人 | 欧美日韩在线一区二区 | 91久久久久久久久久久 | 日韩欧美一级片 | 精品国产乱码久久久久久丨区2区 | 欧美一级久久精品 | 日韩欧美在线观看视频网站 | 69xxx免费| 特黄毛片 | 91超碰在线观看 | 免费毛片在线 | 午夜激情免费视频 | 国产精品a免费一区久久电影 | 欧美一区二区三区在线看 | 国产午夜一级 | 欧美一级黄视频 | www.蜜桃av | 密桃av | 久久成人精品视频 | 国产伦精品一区二区三毛 | 自拍偷拍欧美 | 人碰人操 | 成人免费一区二区 | 精品中文字幕在线观看 | 精品国产一区二区三区在线观看 | 一级黄色片在线免费观看 | 天天爽一爽 | 四虎影院新网址 | 成人蜜桃av| 亚洲视频在线看 | 亚洲精品久久久久久一区二区 | 日本免费在线 |