I found a similar question about getting just the rotation, but as I understand scaling and rotating work different in the transform matrix.
Matrixes are not my strength
Assuming that the transformation is a scaling followed by a rotation (possibly with a translation in there, but no skewing) the horizontal scale factor is sqrt(a^2+c^2)
, the vertical scale factor is sqrt(b^2+d^2)
, and the ratio of the horizontal scale factor to the vertical scale factor should be a/d = -c/b
, where a
, b
, c
, and d
are four of the six members of the CGAffineTransform
, per the documentation (tx
and ty
only represent translation, which does not affect the scale factors).
| a b 0 |
| c d 0 |
| tx ty 1 |