php结合imgareaselect实现图片裁剪

引用CSS

引用js

html

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

}

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

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

相关推荐


kindeditor4.x代码高亮功能默认使用的是prettify插件,prettify是Google提供的一款源代码语法高亮着色器,它提供一种简单的形式来着色HTML页面上的程序代码,实现方式如下: 首先在编辑器里面插入javascript代码: 确定后会在编辑器插入这样的代码: <pre
这一篇我将介绍如何让kindeditor4.x整合SyntaxHighlighter代码高亮,因为SyntaxHighlighter的应用非常广泛,所以将kindeditor默认的prettify替换为SyntaxHighlighter代码高亮插件 上一篇“让kindeditor显示高亮代码”中已经
js如何实现弹出form提交表单?(图文+视频)
js怎么获取复选框选中的值
js如何实现倒计时跳转页面
如何用js控制图片放大缩小
JS怎么获取当前时间戳
JS如何判断对象是否为数组
JS怎么获取图片当前宽高
JS对象如何转为json格式字符串
JS怎么获取图片原始宽高
怎么在click事件中调用多个js函数
js如何往数组中添加新元素
js如何拆分字符串
JS怎么对数组内元素进行求和
JS如何判断屏幕大小
js怎么解析json数据
js如何实时获取浏览器窗口大小
原生JS实现别踩白块小游戏(五)
原生JS实现别踩白块小游戏(一)