如何在小程序中实现单点触控来控制图片的缩放和旋转?
发布于 5 年前 作者 weimo 2603 次浏览 来自 问答

需求是:一张图片的右下角有一个按钮,拖动这个按钮,可以实现该图片的缩放  和  旋转。现在缩放实现了。旋转的话,需要用到计算两点之间的夹角来实现,不过一直不能完美的实现该功能。以下是部分代码,求大神指教:

```

// 封装计算两点之间的夹角  1

getAngle:function(x1, y1, x2, y2) {

// 直角的边长

var x = Math.abs(x1 - x2);

var y = Math.abs(y1 - y2);

var z = Math.sqrt(x * x + y * y);

var rotat = Math.round((Math.asin(y / z) / Math.PI * 180));

// 第一象限

if (x2 >= x1 && y2 <= y1) {

rotat = rotat;

}

// 第二象限

else if (x2 <= x1 && y2 <= y1) {

rotat = 180 - rotat;

}

// 第三象限

else if (x2 <= x1 && y2 >= y1) {

rotat = 180 + rotat;

}

// 第四象限

else if (x2 >= x1 && y2 >= y1) {

rotat = 360 - rotat;

}

return rotat;

}

```

回到顶部