栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > Web开发 > JavaScript

php结合imgareaselect实现图片裁剪

JavaScript 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

php结合imgareaselect实现图片裁剪

引用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


  


  

  

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; 
  }

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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/101742.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号