iOS Swift 检测图像旋转
Posted
技术标签:
【中文标题】iOS Swift 检测图像旋转【英文标题】:iOS Swift Detecting Image Rotation 【发布时间】:2017-02-10 17:56:45 【问题描述】:我有一个应用程序,只要用户在屏幕上按下,它就会为仪表上的针设置动画。当手指抬起时,我需要知道针的旋转角度。手指一抬起,我就删除了所有动画,但我不知道如何获得针的当前旋转角度。
【问题讨论】:
【参考方案1】:这很简单,这是完整的解决方案:
示例设置:
imageView.transform = CGAffineTransform(rotationAngle: CGFloat.pi / 6) // just to test (it is 30 in degrees and 0.523598775598299 in radians)
代码:
let rad: Double = atan2( Double(imageView.transform.b), Double(imageView.transform.a))
let deg: CGFloat = CGFloat(rad) * (CGFloat(180) / CGFloat.pi )
print(deg) // works, printing 30
deg = degrees
和 rad = radians
的位置
解释: 第一行是获取弧度,第二行是用弧度乘以弧度,得到度数。
注意事项:
在CGAffineTransform(rotationAngle: someValue)
中,someValue
其实就是角度的弧度,不是用度数来衡量的。更多信息:
radian
degree
PI
CGFloat.pi
的弧度值是 180,因此您可以根据此测试任何角度。
如果这有帮助,请告诉我!
【讨论】:
太完美了!我确实需要学习一些高等数学。以上是关于iOS Swift 检测图像旋转的主要内容,如果未能解决你的问题,请参考以下文章
MLKit 旋转面部图像使其笔直(iOS 和 Android)