引用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
<div> <img src='blank.jpg' id="mainimg"> </div> <div id="myPreview" > <img src="blank.jpg" id="mainimgthumb" /> </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="确定" /> </form>
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; }
以上所述就是本文的全部内容了,希望大家能够喜欢。
本文向大家介绍jquery.Jcrop结合JAVA后台实现图片裁剪上传实例,包括了jquery.Jcrop结合JAVA后台实现图片裁剪上传实例的使用技巧和注意事项,需要的朋友参考一下 本文介绍了头像裁剪上传功能,用到的技术有 jQuery,springmvc,裁剪插件用的是jcrop(中间遇到很多坑,最终跨越)。 图片上传步骤: 1.用户选择图片 2.将图片传入后台:用户选择图片的时候选择的是各
本文向大家介绍利用jQuery插件imgAreaSelect实现图片上传裁剪(放大缩小),包括了利用jQuery插件imgAreaSelect实现图片上传裁剪(放大缩小)的使用技巧和注意事项,需要的朋友参考一下 这个应用的关键: 1.让左边选择区域和右边显示的图像信息保持一至。 2.根据左边选择区域的大小,来让右边有一个对局部放大或缩小的效果。 3.后台上传功能。 那么这一次,只谈
本文向大家介绍JQuery PHP图片在线裁剪实例,包括了JQuery PHP图片在线裁剪实例的使用技巧和注意事项,需要的朋友参考一下 / * Goofy 2011-11-29 * 图像处理:根据传递过来的坐标参数,x,y,w,h,依次为选取的x坐标,y坐标,w宽度,h高度 通过imagecopy()方法将该区域copy至第一步创建的空白图像中 注意,在创建图像的时候要用imagecreatetr
问题内容: 我想用PHP裁剪图像并保存文件。我知道您应该使用GD库,但我不确定如何使用。有任何想法吗? 谢谢 问题答案: 您可以用来裁剪图像的必需部分。该命令如下所示: 来自PHP.net的代码- 从源图像中裁剪出一个80x40像素的图像
本文向大家介绍利用jQuery插件imgAreaSelect实现图片上传裁剪(同步显示图像位置信息),包括了利用jQuery插件imgAreaSelect实现图片上传裁剪(同步显示图像位置信息)的使用技巧和注意事项,需要的朋友参考一下 先总结一下: 最近练手,写了一些小东西,都是网上已有的成熟的JQ或JS,但在练手的过程中,我发现,很多应用,其实最后,都是归根到元素的宽高变化,位置变化,通
本文向大家介绍iOS实现裁剪框和图片剪裁功能,包括了iOS实现裁剪框和图片剪裁功能的使用技巧和注意事项,需要的朋友参考一下 图片处理中经常用的图片剪裁,就是通过剪裁框确定图片剪裁的区域,然后剪去该区域的图片,今天实现了一下,其实图片剪裁本身不难,主要剪裁框封装发了点时间,主要功能可以拖动四个角缩放,但不能超出父视图,拖动四个边单方向缩放,不能超出父视图,拖动中间部分单单移动,不改变大小,不能超出父