第一还是要引用jquery,接着引用下载好的 jquery.imgareaselect.pack.js 文件和 imgareaselect-default.css 样式文件。
接着写一些元素标签
代码如下 | 复制代码 |
style="float: left; margin-right: 10px; width: 400px; height: 300px" /> |
这将用来展示图片和记录截取图片的坐标点。
接着开始写js
代码如下 | 复制代码 |
$('#ferret + div > img').css({ $(document).ready(function () { ') .css({ float: 'left', position: 'relative', overflow: 'hidden', width: '100px', height: '100px' }) .insertAfter($('#ferret')); //主图编辑 $('#ferret').imgAreaSelect({ x1: 120, y1: 90, x2: 280, y2: 210, aspectRatio: '4:3', onSelectChange: preview, onSelectEnd: function (img, selection) { $('input[name="x1"]').val(selection.x1); $('input[name="y1"]').val(selection.y1); $('input[name="x2"]').val(selection.x2); $('input[name="y2"]').val(selection.y2); } }); });
//验证上传文件格式是否正确 //验证上传文件是否超出了大小
reader.readAsDataURL(input.files[0]); |
上述js完成了本地预览(此处的预览在chrome中正常;在IE中有些问题暂时没有找到本地预览的方法,大家可以用远程方式替换)和截取图片的功能。
前端写完了,接下来开始写后端的代码了
代码如下 | 复制代码 |
//设置缩略图 //新建一个画板 //设置高质量插值法 //设置高质量,低速度呈现平滑程度 //清空画布并以透明背景色填充 //原图片 //在指定位置并且按指定大小绘制原图片的指定部分 //得到缩略图 //创建选择图片 //新建一个画板 //裁切 //保存 //todo:将上述资源释放 } |
这里我们先将图片缩小到与前台大图一样的比例,然后在进行截取,并保存到文件中