JQuery PHP圖片在線裁剪實例
/ * Goofy 2011-11-29 * 圖像處理:根據(jù)傳遞過來的坐標參數(shù),x,y,w,h,依次為選取的x坐標,y坐標,w寬度,h高度 通過imagecopy()方法將該區(qū)域copy至第一步創(chuàng)建的空白圖像中 注意,在創(chuàng)建圖像的時候要用imagecreatetruecolor()真彩色,不然用imagecreate()圖片會失真 */
自由圖片剪切 無比例
<?php
/**
* Goofy 2011-11-29
* 圖像處理:根據(jù)傳遞過來的坐標參數(shù),x,y,w,h,依次為選取的x坐標,y坐標,w寬度,h高度
* 通過imagecopy()方法將該區(qū)域copy至第一步創(chuàng)建的空白圖像中
* 注意,在創(chuàng)建圖像的時候要用imagecreatetruecolor()真彩色,不然用imagecreate()圖片會失真
*/
//頁面?zhèn)鬟^來的比例
$scale=$_GET['scale'];
//下面的屬性乘以相應的比例
$x=$_GET['x']*$scale;
$y=$_GET['y']*$scale;
$w=$_GET['w']*$scale;
$h=$_GET['h']*$scale;
//源路徑
$src=$_GET['src'];
//是否繼續(xù)?如果不繼續(xù)在這張圖片截圖,會將源圖片刪除
$again="off";
if(!empty($_GET['again'])){
$again=$_GET['again'];
}
//第一步,根據(jù)傳來的寬,高參數(shù)創(chuàng)建一幅圖片,然后正好將截取的部分真好填充到這個區(qū)域
header("Content-type: image/jpeg");
$target = @imagecreatetruecolor($w,$h)
or die("Cannot Initialize new GD image stream");
//第二步,根據(jù)路徑獲取到源圖像,用源圖像創(chuàng)建一個image對象
$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, "/");
//這里暫時不加后綴“.jpg”,防止有重復的文件,如果有,需要重命名,加了后會不方便
$newName=substr($newName,$pos_name_-strlen($newName)+1)."_";
//生成不帶后綴的圖片
$file=$newPath.$newName;
//附加asc碼重命名文件,也可以用隨機數(shù),時間等命名,項目需求我不用那些命名方法了
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)容,希望對大家有所幫助,希望大家繼續(xù)關(guān)注腳本之家的最新內(nèi)容。
- jQuery+ThinkPHP實現(xiàn)圖片上傳
- jquery+ajax實現(xiàn)上傳圖片并顯示上傳進度功能【附php后臺接收】
- PHP結(jié)合jquery ajax實現(xiàn)上傳多張圖片,并限制圖片大小操作示例
- jQuery+PHP實現(xiàn)上傳裁剪圖片
- thinkphp jquery實現(xiàn)圖片上傳和預覽效果
- php+flash+jQuery多圖片上傳源碼分享
- PHP+jQuery+Ajax實現(xiàn)多圖片上傳效果
- jquery+php+ajax顯示上傳進度的多圖片上傳并生成縮略圖代碼
- PHP結(jié)合JQueryJcrop實現(xiàn)圖片裁切實例詳解
- jQuery+PHP實現(xiàn)圖片上傳并提交功能
相關(guān)文章
jQuery隊列控制方法詳解queue()/dequeue()/clearQueue()
jQuery核心中, 有一組隊列控制方法, 這組方法由queue()/dequeue()/clearQueue()三個方法組成, 它對需要連續(xù)按序執(zhí)行的函數(shù)的控制可以說是簡明自如, 主要應用于animate ()方法, ajax以及其他要按時間順序執(zhí)行的事件中.2010-12-12
打造基于jQuery的高性能TreeView(asp.net)
項目中經(jīng)常會遇到樹形數(shù)據(jù)的展現(xiàn),包括導航,選擇等功能,所以樹控件在大多項目中都是必須的。那一個實用的樹應該具備什么功能呢?2011-02-02
jquery easyui combobox模糊過濾(示例代碼)
這篇文章主要介紹了jquery easyui combobox模糊過濾(示例代碼)。需要的朋友可以過來參考下,希望對大家有所幫助2013-11-11
jQuery實現(xiàn)可用于博客的動態(tài)滑動菜單完整實例
這篇文章主要介紹了jQuery實現(xiàn)可用于博客的動態(tài)滑動菜單代碼,可實現(xiàn)jQuery基于鼠標事件動態(tài)操作頁面元素變換的技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-09-09
jQuery實現(xiàn)ToolTip元素定位顯示功能示例
這篇文章主要介紹了jQuery實現(xiàn)ToolTip元素定位顯示功能,結(jié)合實例形式分析了jQuery針對頁面元素屬性的動態(tài)操作相關(guān)技巧,需要的朋友可以參考下2016-11-11

