* @brief支持手势的裁图插件
*在移动设备上双指捏合为缩放,双指旋转可根据旋转方向每次旋转90度
*在PC设备上鼠标滚轮为缩放,每次双击则顺时针旋转90度
* @option_param {array} size 截取框的宽和高组成的数组。默认值为[260,260]
* @option_param {array} outputSize 输出图像的宽和高组成的数组。默认值为[0,0],表示输出图像原始大小
* //@option_param {string} outputType 指定输出图片的类型,可选 "jpg" 和 "png" 两种种类型,默认为 "jpg"
* @option_param {string} file 上传图片的<input type="file">控件的选择器或者DOM对象
* @option_param {string} view 显示截取后图像的容器的选择器或者DOM对象
* @option_param {string} ok 确认截图按钮的选择器或者DOM对象
* @option_param {string} rotaBtn 旋转图片按钮的选择器或者DOM对象
* @option_param {string} bigBtn 放大图片按钮的选择器或者DOM对象
* @option_param {string} samllBtn 缩小图片按钮的选择器或者DOM对象
* @option_param {function} loadStart 开始加载的回调函数。this指向 fileReader 对象,并将正在加载的 file 对象作为参数传入
* @option_param {function} loadComplete 加载完成的回调函数。this指向图片对象,并将图片地址作为参数传入
* @option_param {function} loadError 加载失败的回调函数。this指向 fileReader 对象,并将错误事件的 event 对象作为参数传入
* @option_param {function} clipFinish 裁剪完成的回调函数。this指向原图片对象,会将裁剪出的图像数据DataURL作为
借用楼主的方法重新写了旋转图片,可自由调整角度,实力为10度。
var rr = 0; function rotateCW(point) { //rotateBy(90, point); //重新定义旋转 var loacl; if (!point) { loacl = loaclToLoacl($moveLayer, $clipView, clipWidth * .5, clipHeight * .5); } else { loacl = globalToLoacl($moveLayer, point.x, point.y); } var origin = calculateOrigin(curAngle, loacl), // 旋转中使用的参考点坐标 originX = origin.x, originY = origin.y; rr -= 10; var style = {}; style[prefix + "transform"] = " rotate(" + rr + "deg)"; style[prefix + "transform-origin"] = originX + "px " + originY + "px"; $rotateLayer.css(style); }