Quote CSS
/js/-0.9.10/css/
Quote js
/js/-0.9.10/scripts/ /js/AjaxFileUploaderV2.1/
html
<div> <img src='' > </div> <div > <img src="" /> </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="Sure" /> </form>
jQuery code
$("#mainimg_src", content).load(function () { crop($("#mainimg", content)); }); function crop($img) { //$img is //Reduce the ratio var scalex =$() / $("#mainimg_src").width(); var scaley =$() / $("#mainimg_src").height(); $({ x1:0,y1:0,x2:150,y2:150, handles: true, aspectRatio: '1:1', onSelectEnd: function (img, selection) { var scaleX = 100 / ( || 1); var scaleY = 100 / ( || 1); $('#mainimgthumb').css({ width: (scaleX * 400) + 'px', height: (scaleY * 300) + 'px', marginLeft: '-' + (scaleX * selection.x1) + 'px', marginTop: '-' + (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); } }); }
Confirm the cut
//Confirm the cut$("form[name=fmCrop]", content).submit(function () { var data = $("form[name=fmCrop]", content).serializeArray(); $.get('/members/web-members-rest/', data, function (r) { switch () { case "Success": jAlert("The operation is successful"); $("#left_mainimg").attr("src", "/" + + '?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; });
Server-side php code
public function actionCrop($src_path,$x1,$x2,$y1,$y2){ $pic =$src_path; $width = $x2-$x1; $height = $y2-$y1; $type=exif_imagetype($pic); //Judge file type $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);//Crop imagejpeg($copy, $src_path); //Replace new picture return ['result'=>'Success','path'=>$src_path]; //Return to the new image address } 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; }
The above is the entire content of this article, I hope you like it.