微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php结合imgareaselect实现图片裁剪

引用CSS

rush:xhtml;"> /js/jquery.imgareaselect-0.9.10/css/imgareaselect-default.css

引用js

rush:js;"> /js/jquery.imgareaselect-0.9.10/scripts/jquery.imgareaselect.min.js /js/AjaxFileUploaderV2.1/ajaxfileupload.js

html

rush:xhtml;">

jQuery代码

rush:js;"> $("#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);
           }
         });
       }

确定裁剪

rush:js;"> //确定剪切 $("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]","none"); $("input[name=btnSubmit]","none"); break; } }); return false; });

服务器端PHP代码

$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->PI<a href="https://www.jb51.cc/tag/PHP/" target="_blank" class="keywords">PHP</a>_ImageCrop($image,$width,$height);//裁剪 imagejpeg($<a href="https://www.jb51.cc/tag/cop/" target="_blank" class="keywords">cop</a>y,$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); 
image<a href="https://www.jb51.cc/tag/cop/" target="_blank" class="keywords">cop</a>yresampled($temp,$image,$h,$h); 
return $temp; 

}

以上所述就是本文的全部内容了,希望大家能够喜欢。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐