当前位置:  开发笔记 > IOS > 正文

如何重置以使用一些CGContext函数来标识"当前转换矩阵"?

如何解决《如何重置以使用一些CGContext函数来标识"当前转换矩阵"?》经验,为你挑选了1个好方法。

我正在CTM上进行一系列翻译和旋转,在某些时候我需要将其重置为身份,然后再进行转换.

我找不到任何适当的方式做到这一点(当然,也应该有一个名为CGContextSetCTM左右功能),因为效率是关键,我不想使用CGContextSaveGState/CGContextRestoreGState ...



1> EightyEight..:

通过获取当前变换矩阵CGContextGetCTM,与反其道而行CGAffineTransformInvert和倒一个乘以当前矩阵(这很重要!)与CGContextConcatCTM.CTM现在是身份.


似乎是一个可行的解决方法,但它非常低效.我不明白为什么Apple没有暴露任何功能来直接重置矩阵......
@EightyEight:可能是因为Apple希望转换矩阵能够基于链上的转换保持可修改,并希望开发人员编写代码在这些情况下做正确的事情.示例:如果Apple(假设)想要为运行时显示尺寸缩小的游戏实现UI,如Safari的标签视图中的平铺网页,该怎么办?如果开发人员决定在其绘图代码中重置转换矩阵会发生什么?_它不会"只是工作",它看起来像扭曲的废话,那是什么._
推荐阅读
郑谊099_448
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有