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