首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >CATransform3D与CGAffineTransform?

CATransform3D与CGAffineTransform?
EN

Stack Overflow用户
提问于 2009-02-20 00:12:43
回答 2查看 12.1K关注 0票数 25

这两者有什么不同?

我相信他们有优点和缺点,在某些情况下他们会表现得更好。

有没有比较这两者的资源?

是不是有更好的动画(我想是CATransform3D)?为什么?

另外,我想我在某个地方读到过,文本清晰度可能是一个问题,是不是一个人在缩放文本方面更好?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-02-20 01:09:45

正如MSN所说,它们用于不同的情况。CGAffineTransform用于NSViews、UIViews和其他2-D核心图形元素的2-D操作。

CATransform3D是一个核心动画结构,可以对CALayers进行更复杂的3-D操作。CATransform3D具有与OpenGL模型视图矩阵相同的内部结构,当您意识到核心动画构建在OpenGL上时,这是有意义的(CALayers是OpenGL纹理的包装器,等等)。我发现,这种内部结构的相似性,再加上苹果提供的一些不错的助手函数,可以让你做一些简洁的OpenGL优化,就像我在here上写的那样。

当涉及到选择使用哪一个时,问问自己是要直接在2-D空间(CGAffineTransform)中使用视图,还是要在3-D (CATransform3D)中使用基础核心动画层。我更频繁地使用CATransform3D,但那是因为我花了很多时间在核心动画上。

票数 24
EN

Stack Overflow用户

发布于 2009-02-20 00:26:46

一种是线性二维变换,另一种是三维投影变换。至少这是我可以从文档中收集到的。

如果不需要将3d投影到屏幕上,请使用仿射变换。否则,请使用3d变换。3d变换本质上是4x4矩阵,而2d仿射变换是3x2。

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

https://stackoverflow.com/questions/567829

复制
相关文章

相似问题

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