DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> jQuery入門知識 >> JQuery入門技巧 >> JQuery PHP圖片在線裁剪實例
JQuery PHP圖片在線裁剪實例
編輯:JQuery入門技巧     

/ * 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"); 
?>

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

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved