Mar*_*ong 8 iphone core-graphics objective-c ipad ios
好的,所以我意识到我可以从图层的CATransform3D中找到比例值,如下所示:
float scale = [[layer valueForKeyPath: @"transform.scale"] floatValue];
Run Code Online (Sandbox Code Playgroud)
但我不能为我的生活弄清楚如何从CGAffineTransform中找到比例值.比方说我有这个名为"cameraTransform"的CGAffineTransform:
UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init];
CGAffineTransform *cameraTransform = imagePicker.cameraViewTransform;
Run Code Online (Sandbox Code Playgroud)
现在如何从cameraTransform获取比例值?
我尝试给出各种CGAffineTransforms的一般答案,甚至是旋转的.
假设您的CGAffineTransform包含(可选)
和
然后有一个通用的公式,给你比例因子:
CGAffineTransform transform = ...;
CGFloat scaleFactor = sqrt(fabs(transform.a * transform.d - transform.b * transform.c));
Run Code Online (Sandbox Code Playgroud)
"镜像"或翻转坐标方向将被忽略,这意味着(x - > -x; y - > y)将导致scaleFactor == 1而不是-1.
归档时间: |
|
查看次数: |
5298 次 |
最近记录: |