php結(jié)合imgareaselect實(shí)現(xiàn)圖片裁剪
更新時(shí)間:2015年07月05日 16:12:31 投稿:hebedich
這篇文章主要介紹了php結(jié)合imgareaselect實(shí)現(xiàn)圖片裁剪的相關(guān)資料,需要的朋友可以參考下
引用CSS
/js/jquery.imgareaselect-0.9.10/css/imgareaselect-default.css
引用js
/js/jquery.imgareaselect-0.9.10/scripts/jquery.imgareaselect.min.js /js/AjaxFileUploaderV2.1/ajaxfileupload.js
html
<div>
<img src='blank.jpg' id="mainimg">
</div>
<div id="myPreview" >
<img src="blank.jpg" id="mainimgthumb" />
</div>
<form name="fmCrop">
<input type="hidden" name="src_path" value="" />
<input type="hidden" name="x1" value="" />
<input type="hidden" name="x2" value="" />
<input type="hidden" name="y1" value="" />
<input type="hidden" name="y2" value="" />
<input type="submit" name="btnSubmit" class="baseinf_but1" style="display:none" value="確定" />
</form>
jQuery代碼
$("#mainimg_src", content).load(function () {
crop($("#mainimg", content));
});
function crop($img) { //$img是
//縮小比例
var scalex =$img.width() / $("#mainimg_src").width();
var scaley =$img.height() / $("#mainimg_src").height();
$img.imgAreaSelect({
x1:0,y1:0,x2:150,y2:150,
handles: true, aspectRatio: '1:1',
onSelectEnd: function (img, selection) {
var scaleX = 100 / (selection.width || 1);
var scaleY = 100 / (selection.height || 1);
$('#mainimgthumb').css({
width: Math.round(scaleX * 400) + 'px',
height: Math.round(scaleY * 300) + 'px',
marginLeft: '-' + Math.round(scaleX * selection.x1) + 'px',
marginTop: '-' + Math.round(scaleY * selection.y1) + 'px'
});
$('input[name="x1"]', content).val(selection.x1/scalex);
$('input[name="y1"]', content).val(selection.y1/scaley);
$('input[name="x2"]', content).val(selection.x2/scalex);
$('input[name="y2"]', content).val(selection.y2/scaley);
}
});
}
確定裁剪
//確定剪切
$("form[name=fmCrop]", content).submit(function () {
var data = $("form[name=fmCrop]", content).serializeArray();
$.get('/members/web-members-rest/crop.html', data, function (r) {
switch (r.result) {
case "Success":
jAlert("操作成功");
$("#left_mainimg").attr("src", "/" + r.path + '?a=' + (new Date()).format('yyyyMMddhhmmss'));
$("#myPreview", content).css("display", "block");
$("#myPreview", content).prev().css("display", "none");
$("#mainimg", content).imgAreaSelect({ hide: true });
$("form[name=fmUpload]", content).css("display", "none");
$("input[name=btnSubmit]", content).css("display", "none");
break;
}
});
return false;
});
服務(wù)器端php代碼
public function actionCrop($src_path,$x1,$x2,$y1,$y2){
$pic =$src_path;
$width = $x2-$x1;
$height = $y2-$y1;
$type=exif_imagetype($pic); //判斷文件類型
$support_type=array(IMAGETYPE_JPEG , IMAGETYPE_PNG , IMAGETYPE_GIF);
if(!in_array($type, $support_type,true)) {
echo "this type of image does not support! only support jpg , gif or png";
exit();
}
switch($type) {
case IMAGETYPE_JPEG :
$image = imagecreatefromjpeg($pic);
break;
case IMAGETYPE_PNG :
$image = imagecreatefrompng($pic);
break;
case IMAGETYPE_GIF :
$image = imagecreatefromgif($pic);
break;
default:
echo "Load image error!";
exit();
}
$copy = $this->PIPHP_ImageCrop($image, $x1, $y1, $width, $height);//裁剪
imagejpeg($copy, $src_path); //替換新圖
return ['result'=>'Success','path'=>$src_path]; //返回新圖地址
}
function PIPHP_ImageCrop($image, $x, $y, $w, $h){
$tw = imagesx($image);
$th = imagesy($image);
if ($x > $tw || $y > $th || $w > $tw || $h > $th) return FALSE;
$temp = imagecreatetruecolor($w, $h);
imagecopyresampled($temp, $image, 0, 0, $x, $y, $w, $h, $w, $h);
return $temp;
}
以上所述就是本文的全部?jī)?nèi)容了,希望大家能夠喜歡。
相關(guān)文章
解析prototype,JQuery中跳出each循環(huán)的方法
這篇文章主要介紹了在prototype,JQuery中跳出each循環(huán)的方法。需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助2013-12-12
使用struts2+Ajax+jquery驗(yàn)證用戶名是否已被注冊(cè)
這篇文章主要介紹了使用struts2+Ajax+jquery驗(yàn)證用戶名是否已被注冊(cè)的相關(guān)資料,需要的朋友可以參考下2016-03-03
省市區(qū)三級(jí)聯(lián)動(dòng)jquery實(shí)現(xiàn)代碼
這篇文章主要為大家詳細(xì)紹了省市區(qū)三級(jí)聯(lián)動(dòng)jquery實(shí)現(xiàn)代碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-10-10
jQuery插件實(shí)現(xiàn)靜態(tài)HTML驗(yàn)證碼校驗(yàn)
這篇文章主要介紹了jQuery插件實(shí)現(xiàn)靜態(tài)HTML驗(yàn)證碼校驗(yàn),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2015-11-11
Jquery實(shí)現(xiàn)簡(jiǎn)單的動(dòng)畫(huà)效果代碼
Jquery實(shí)現(xiàn)簡(jiǎn)單的動(dòng)畫(huà)效果代碼,需要的朋友可以參考下2012-03-03

