php结合imgareaselect实现图片裁剪

前端之家收集整理的这篇文章主要介绍了php结合imgareaselect实现图片裁剪前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

引用CSS

引用js

html

@H_403_18@

jQuery代码

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

确定裁剪

服务器端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($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,$h,$h); 
return $temp; 

}

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

原文链接:https://www.f2er.com/js/53511.html

猜你在找的JavaScript相关文章