Make Jcrop tracker not rotate when cropping a rotated image

前端 未结 5 1128
甜味超标
甜味超标 2020-12-19 03:56

I\'m trying to crop an image using Jcrop, but when I use jqueryrotate on the image, something weird happens.

I rotate the image 90 degress then I activate the JCrop,

5条回答
  •  感情败类
    2020-12-19 04:17

    Yes, the JCrop has the problem of selection direction error after rotated by JQuery rotate. I had to resolve it by change the JCrop's js code to support rotate.

    Fortunatly, it's not hard to do, you can do it yourself by replace one line: 136 to sub codes:

        //========= begin replace origin line 136 for rotate
        var x = pos[0] - lloc[0];
        var y = pos[1] - lloc[1];
        var rotate = options.rotate || 0;
        var angle = (rotate / 90) % 4;
        if (angle == 1) {
          var temp = x;
          x = y;
          y = - temp;
        } else if (angle == 2) {
          x = -x;
          y = -y;
        } else if (angle == 3) {
          var temp = x;
          x = -y;
          y = temp;
        }
        Coords.moveOffset([x, y]);
        //========= end replace origin line 136 for rotate
    

    or you can get the updated code by url: https://github.com/ergoli/Jcrop/tree/master/js

    be careful! you should transfer the rotate option after each rotate click:

    jCropApi.setoptions({rotate : 90});  //rotate 90
    

    good luck!

提交回复
热议问题