JQuery PHP圖片在線裁剪實(shí)例
/ * Goofy 2011-11-29 * 圖像處理:根據(jù)傳遞過來的坐標(biāo)參數(shù),x,y,w,h,依次為選取的x坐標(biāo),y坐標(biāo),w寬度,h高度 通過imagecopy()方法將該區(qū)域copy至第一步創(chuàng)建的空白圖像中 注意,在創(chuàng)建圖像的時(shí)候要用imagecreatetruecolor()真彩色,不然用imagecreate()圖片會(huì)失真 */
自由圖片剪切 無比例
<?php
/**
* Goofy 2011-11-29
* 圖像處理:根據(jù)傳遞過來的坐標(biāo)參數(shù),x,y,w,h,依次為選取的x坐標(biāo),y坐標(biāo),w寬度,h高度
* 通過imagecopy()方法將該區(qū)域copy至第一步創(chuàng)建的空白圖像中
* 注意,在創(chuàng)建圖像的時(shí)候要用imagecreatetruecolor()真彩色,不然用imagecreate()圖片會(huì)失真
*/
//頁面?zhèn)鬟^來的比例
$scale=$_GET['scale'];
//下面的屬性乘以相應(yīng)的比例
$x=$_GET['x']*$scale;
$y=$_GET['y']*$scale;
$w=$_GET['w']*$scale;
$h=$_GET['h']*$scale;
//源路徑
$src=$_GET['src'];
//是否繼續(xù)?如果不繼續(xù)在這張圖片截圖,會(huì)將源圖片刪除
$again="off";
if(!empty($_GET['again'])){
$again=$_GET['again'];
}
//第一步,根據(jù)傳來的寬,高參數(shù)創(chuàng)建一幅圖片,然后正好將截取的部分真好填充到這個(gè)區(qū)域
header("Content-type: image/jpeg");
$target = @imagecreatetruecolor($w,$h)
or die("Cannot Initialize new GD image stream");
//第二步,根據(jù)路徑獲取到源圖像,用源圖像創(chuàng)建一個(gè)image對(duì)象
$source = imagecreatefromjpeg($src);
//第三步,根據(jù)傳來的參數(shù),選取源圖像的一部分填充到第一步創(chuàng)建的圖像中
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, "/");
//這里暫時(shí)不加后綴“.jpg”,防止有重復(fù)的文件,如果有,需要重命名,加了后會(huì)不方便
$newName=substr($newName,$pos_name_-strlen($newName)+1)."_";
//生成不帶后綴的圖片
$file=$newPath.$newName;
//附加asc碼重命名文件,也可以用隨機(jī)數(shù),時(shí)間等命名,項(xiàng)目需求我不用那些命名方法了
for($i=0;$i<26;$i++){
//如果目錄存在
if(is_dir($newPath)){
//如果文件存在,繼續(xù)循環(huán),直到?jīng)]有重名的文件
if(is_file($file.chr(97+$i).".jpg")){
continue;
}else{
//創(chuàng)建文件
imagejpeg($target,$file.chr(97+$i).".jpg",100);
//文件創(chuàng)建完成確定是否刪除源文件,off為刪除源文件
if($again=="off"){
unlink($src);
unset($_SESSION['url']);
}
break;
}
}else{
//創(chuàng)建目錄
mkdir($newPath);
//創(chuàng)建文件
imagejpeg($target,$file.chr(97+$i).".jpg",100);
//文件創(chuàng)建完成確定是否刪除源文件,off為刪除源文件
if($again=="off"){
unlink($src);
unset($_SESSION['url']);
}
break;
}
}
//跳轉(zhuǎn)到首頁
Header("Location: index.php");
?>
以上就是本文的全部內(nèi)容,希望對(duì)大家有所幫助,希望大家繼續(xù)關(guān)注腳本之家的最新內(nèi)容。
- jQuery+ThinkPHP實(shí)現(xiàn)圖片上傳
- jquery+ajax實(shí)現(xiàn)上傳圖片并顯示上傳進(jìn)度功能【附php后臺(tái)接收】
- PHP結(jié)合jquery ajax實(shí)現(xiàn)上傳多張圖片,并限制圖片大小操作示例
- jQuery+PHP實(shí)現(xiàn)上傳裁剪圖片
- thinkphp jquery實(shí)現(xiàn)圖片上傳和預(yù)覽效果
- php+flash+jQuery多圖片上傳源碼分享
- PHP+jQuery+Ajax實(shí)現(xiàn)多圖片上傳效果
- jquery+php+ajax顯示上傳進(jìn)度的多圖片上傳并生成縮略圖代碼
- PHP結(jié)合JQueryJcrop實(shí)現(xiàn)圖片裁切實(shí)例詳解
- jQuery+PHP實(shí)現(xiàn)圖片上傳并提交功能
相關(guān)文章
jQuery綁定事件監(jiān)聽bind和移除事件監(jiān)聽unbind用法實(shí)例詳解
這篇文章主要介紹了jQuery綁定事件監(jiān)聽bind和移除事件監(jiān)聽unbind用法,結(jié)合實(shí)例形式詳細(xì)分析了綁定事件監(jiān)聽bind和移除事件監(jiān)聽unbind的具體使用技巧與相關(guān)注意事項(xiàng),需要的朋友可以參考下2016-01-01
jQuery使用each方法與for語句遍歷數(shù)組示例
這篇文章主要介紹了jQuery使用each方法與for語句遍歷數(shù)組,結(jié)合實(shí)例形式簡單對(duì)比分析了兩種方法在遍歷數(shù)組時(shí)的實(shí)現(xiàn)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2016-06-06
各式各樣的導(dǎo)航條效果css3結(jié)合jquery代碼實(shí)現(xiàn)
這篇文章主要為大家分享了css3結(jié)合jquery代碼實(shí)現(xiàn)各式各樣的導(dǎo)航條效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-09-09
js判斷復(fù)選框是否選中的方法示例【基于jQuery】
這篇文章主要介紹了js判斷復(fù)選框是否選中的方法,結(jié)合實(shí)例形式分析了基于jQuery實(shí)現(xiàn)的復(fù)選框選中判斷相關(guān)操作技巧,需要的朋友可以參考下2019-10-10

