首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CGAffineTransform问题

CGAffineTransform问题
EN

Stack Overflow用户
提问于 2011-06-22 23:01:28
回答 1查看 448关注 0票数 3

我有一个UIImageView,我申请了一个:

代码语言:javascript
复制
CGAffineTransformConcat(scaleTransform, rotateTransform);

现在我需要得到的实际比例值旋转度。我可以得到旋转度,但是当得到标度值时,问题就出现了。我得到的缩放值不是正确的,除非我将视图旋转到0.0;

我认为这是因为矩阵现在是乘以(比例*旋转)。

对如何获得正确的规模价值有什么想法吗?

EN

回答 1

Stack Overflow用户

发布于 2011-06-23 14:27:24

我解决了我的问题。

要得到角度:

float angle = atan2(imageView.transform.b, imageView.transform.a);

应用于imageView的尺度转换是uniform,因此要获得刻度值:

代码语言:javascript
复制
CATransform3D localScaleTransform = [(CALayer *)[imageView.layer presentationLayer] transform];
float scale = sqrt(pow(localScaleTransform.m11, 2) + pow(localScaleTransform.m12, 2));

如果您应用了不同的比例值,请遵循以下步骤:

scaleInX = sqrt(M11^2 + M12^2)

scaleInY = sqrt(M21^2 + M22^2)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6447547

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档