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

PHP實現(xiàn)圖片的等比縮放和Logo水印功能示例

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

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

/**
 * 等比縮放函數(shù)(以保存的方式實現(xiàn))
 * @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];//獲取高度
  //獲取圖片的類型并為此創(chuàng)建對應圖片資源
  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);
  //創(chuàng)建一個新的圖像源(目標圖像)
  $nim = imagecreatetruecolor($nw,$nh);
  //執(zhí)行等比縮放
  imagecopyresampled($nim,$im,0,0,0,0,$nw,$nh,$w,$h);
  //輸出圖像(根據(jù)源圖像的類型,輸出為對應的類型)
  $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(xiàn))
 * @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);
  //根據(jù)圖片類型創(chuàng)建出對應的圖片源
  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("圖片類型錯誤!");
  }
  //根據(jù)logo圖片類型創(chuàng)建出對應的圖片源
  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圖片類型錯誤!");
  }
  //執(zhí)行圖片水印處理
  imagecopyresampled($im,$logoim,$picnameinfo[0]-$logoinfo[0],$picnameinfo[1]-$logoinfo[1],0,0,$logoinfo[0],$logoinfo[1],$logoinfo[0],$logoinfo[1]);
  //輸出圖像(根據(jù)源圖像的類型,輸出為對應的類型)
  $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相關內(nèi)容感興趣的讀者可查看本站專題:《PHP圖形與圖片操作技巧匯總》、《PHP基本語法入門教程》、《PHP運算與運算符用法總結》、《php面向?qū)ο蟪绦蛟O計入門教程》、《PHP網(wǎng)絡編程技巧總結》、《PHP數(shù)組(Array)操作技巧大全》、《php字符串(string)用法總結》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》

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

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

相關文檔推薦

1、PbootCMS后臺正常使用,ueditor編輯界面可以顯示, 但單圖片上傳按鈕點擊沒反應,多圖片上傳顯示后臺配置項返回格式出錯,上傳功能將不能正常使用! 2、打開瀏覽器調(diào)試模式,顯示
這篇文章主要介紹了PHP有序表查找之插值查找算法,簡單分析了插值查找算法的概念、原理并結合實例形式分析了php實現(xiàn)針對有序表插值查找的相關操作技巧,需要的朋友可以參考下
下面小編就為大家分享一篇ThinkPHP整合datatables實現(xiàn)服務端分頁的示例代碼,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
下面小編就為大家分享一篇PHP實現(xiàn)APP微信支付的實例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
這篇文章主要介紹了PHP實現(xiàn)的多維數(shù)組排序算法,結合實例形式對比分析了php針對多維數(shù)組及帶有鍵名的多維數(shù)組進行排序相關操作技巧與注意事項,需要的朋友可以參考下
這篇文章主要為大家詳細介紹了php結合ajaxuploadfile實現(xiàn)無刷新文件上傳功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
主站蜘蛛池模板: 午夜一级黄色片 | 国产成人精品久久 | 日韩在线一区二区三区 | 天天av综合 | 天天综合永久入口 | 超碰人人艹 | 成人福利在线观看 | 国产中文字幕网 | 成人免费在线播放视频 | 精品久久国产视频 | 99久久精品一区二区毛片吞精 | 最新日韩在线视频 | 亚洲激情网站 | 午夜一级大片 | 成人欧美一区二区三区视频xxx | 国产区在线免费观看 | 国产一区二区在线视频 | 欧美一区二区三区四区视频 | 国产第一区二区 | 99热视 | 国产福利91精品一区二区三区 | 久久精品欧美一区二区三区麻豆 | 日韩视频中文字幕 | 国产激情网 | 日韩国产中文字幕 | 日韩欧美视频免费在线观看 | 欧美日韩国产一区二区三区 | 草久久 | 成人欧美一区二区三区在线观看 | 欧美9999| 精品九九九 | 91亚洲欧美 | 久久久久国产一区二区三区四区 | 污污的网站在线观看 | 欧美精品一区二区三区蜜桃视频 | 伊人伊人伊人 | 国产精品免费一区二区 | 精品免费国产一区二区三区 | 亚洲欧美国产一区二区三区 | 国产亚洲www | 国产精品久久国产精品 |