时间:2021-05-26
引用CSS
引用js
html
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;});服务器端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; }以上所述就是本文的全部内容了,希望大家能够喜欢。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了PHP实现图片不变型裁剪及图片按比例裁剪的方法。分享给大家供大家参考,具体如下:图片不变型裁剪$target_ratio){//image-to-
因为项目当中用到图片裁剪,本来可以不用到后台进行裁剪的,但是要兼容万恶的IE浏览器,所以不得不使用后台进行裁剪。这次使用到imgareaselect插件获取需要
PHP使用Imagick模块缩放,裁剪,压缩图片包括gif图片缩放裁剪复制代码代码如下:/***图片裁剪*裁剪规则:*1.高度为空或为零按宽度缩放高度自适应*2
本文实例为大家分享了php图片裁剪函数的具体代码,供大家参考,具体内容如下/**图片裁剪工具*将指定文件裁剪成正方形*以中心为起始向四周裁剪*@param$sr
本文是一个简单的jquery图片预览+裁剪的例子,原理是在前端获取要裁剪的信息,如宽高比、裁剪坐标,上传图片之后在后端php进行切割jquery代码(必须在最后