PHP结合imgareaselect实现图片的裁剪

参考CSS




/ / jQuery JS,CSS imgareaselect-0.9.10 / / imgareaselect-default.css



引用JS




/ / jQuery JS脚本。imgareaselect-0.9.10 / / jquery.imgareaselect.min.js
/ / / ajaxfileupload.js ajaxfileuploaderv2.1 JS



HTML





















jQuery代码


$(# mainimg_src
作物($(# mainimg
});

功能的作物($ 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,
处理:真的,比'1:1,
OnSelectEnd:功能(IMG,选择){
Var scaleX(selection.width | | = 100 / 1);
Var scaleY(selection.height | | = 100 / 1);

$('#mainimgthumb').Css ({
宽度:math.round(scaleX×400)+ 'px,
身高:math.round(称为×300)+ 'px,
MarginLeft:+ math.round + 'px(scaleX *选择。X1),
MarginTop:+ math.round + 'px '(称为*的选择。Y1)
});
$(X1输入{名称=
$(Y1输入{名称=
$(X2输入{名称=
$(Y2输入{名称=
}
});
}




剪裁


剪切剪切力的测定
$({姓名} fmcrop形式
VaR数据=美元(形式{姓名} fmcrop
获取(成员/ Web成员休息、HTML、数据、函数(r){)
开关(r.result){
案例成功:
JAlert(操作成功);
$(# left_mainimg )Attr(src。
$(# mypreview
$(# mypreview
$(# mainimg
$({姓名} fmupload形式
$(输入{名称= btnsubmit }
打破;
}
});
返回false;
});



服务器端PHP代码


公共功能actioncrop(src_path美元美元美元,X1,X2,Y1 Y2美元,美元){
照片= src_path美元美元;

宽度= $ x2 - X1;
高度=美元美元美元Y1 Y2;

类型= exif_imagetype美元(合图); / /确定文件类型
support_type美元=阵列(imagetype_jpeg,imagetype_png,imagetype_gif);
如果(!in_array(合式,support_type美元,真)){
这种类型的图像不支持!只支持JPG,GIF);
出口();
}
开关($ type){
案例imagetype_jpeg:
图像= imagecreatefromjpeg美元(合图);
打破;
案例imagetype_png:
图像= imagecreatefrompng美元(合图);
打破;
案例imagetype_gif:
图像= imagecreatefromgif美元(合图);
打破;
违约:
加载图像错误!;
出口();
}

为复制=美元-> piphp_imagecrop(美元美元美元形象,X1,Y1美元美元,宽度,高度); / /切割

imagejpeg($复制,src_path美元); / /更换探头
返回{ 'result= > ''成功','path= > $ src_path }; / /返回到新的地址
}
功能piphp_imagecrop($图像、X、Y元,$ W $ H){
TW = imagesx美元($图像);
= imagesy美元($图像);

如果(X Y |台币| > > > >第二美元美元美元W | | | | $H$日返回false);

$温度=新建一个真彩色图像($ W $ H);
imagecopyresampled($美元临时,形象,0, 0,X,Y元,美元美元美元的W,H,W,H美元);
返回$ $;
}





以上是本文的全部内容,希望大家能喜欢。