JQuery PHP圖片線上裁剪執行個體_jquery

來源:互聯網
上載者:User

/ * Goofy 2011-11-29 * 影像處理:根據傳遞過來的座標參數,x,y,w,h,依次為選取的x座標,y座標,w寬度,h高度 通過imagecopy()方法將該地區copy至第一步建立的空白映像中 注意,在建立映像的時候要用imagecreatetruecolor()真彩色,不然用imagecreate()圖片會失真 */

自由圖片剪下 無比例

<?php /** * Goofy 2011-11-29 * 影像處理:根據傳遞過來的座標參數,x,y,w,h,依次為選取的x座標,y座標,w寬度,h高度 * 通過imagecopy()方法將該地區copy至第一步建立的空白映像中 * 注意,在建立映像的時候要用imagecreatetruecolor()真彩色,不然用imagecreate()圖片會失真 */ //頁面傳過來的比例$scale=$_GET['scale'];//下面的屬性乘以相應的比例$x=$_GET['x']*$scale;$y=$_GET['y']*$scale;$w=$_GET['w']*$scale;$h=$_GET['h']*$scale; //源路徑$src=$_GET['src']; //是否繼續?如果不繼續在這張圖片截圖,會將源圖片刪除$again="off";if(!empty($_GET['again'])){ $again=$_GET['again'];} //第一步,根據傳來的寬,高參數建立一幅圖片,然後正好將截取的部分真好填充到這個地區header("Content-type: image/jpeg");$target = @imagecreatetruecolor($w,$h) or die("Cannot Initialize new GD image stream"); //第二步,根據路徑擷取到源映像,用源映像建立一個image對象$source = imagecreatefromjpeg($src); //第三步,根據傳來的參數,選取源映像的一部分填充到第一步建立的映像中imagecopy( $target, $source, 0, 0, $x, $y, $w, $h); //第四步,儲存映像 //截取並組織新路徑$pos_path= strripos($src, "/");$newPath=substr($src,0,$pos_path-strlen($src))."_new/"; //截取並組織新名稱$pos_name=strripos($src, ".");$newName=substr($src,0,$pos_name);$pos_name_= strripos($newName, "/"); //這裡暫時不加尾碼“.jpg”,防止有重複的檔案,如果有,需要重新命名,加了後會不方便$newName=substr($newName,$pos_name_-strlen($newName)+1)."_"; //產生不帶尾碼的圖片$file=$newPath.$newName; //附加asc碼重新命名檔案,也可以用隨機數,時間等命名,項目需求我不用那些命名方法了for($i=0;$i<26;$i++){  //如果目錄存在 if(is_dir($newPath)){  //如果檔案存在,繼續迴圈,直到沒有重名的檔案  if(is_file($file.chr(97+$i).".jpg")){   continue;  }else{   //建立檔案   imagejpeg($target,$file.chr(97+$i).".jpg",100);   //檔案建立完成確定是否刪除源檔案,off為刪除源檔案   if($again=="off"){    unlink($src);    unset($_SESSION['url']);   }   break;   } }else{  //建立目錄  mkdir($newPath);  //建立檔案  imagejpeg($target,$file.chr(97+$i).".jpg",100);  //檔案建立完成確定是否刪除源檔案,off為刪除源檔案  if($again=="off"){    unlink($src);    unset($_SESSION['url']);  }  break; }}//跳轉到首頁Header("Location: index.php"); ?>

以上就是本文的全部內容,希望對大家有所協助,希望大家繼續關注云棲社區的最新內容。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.