我正在尝试绘制一个棱镜并使用 CoreAnimation 对其进行动画处理。但我找不到一个好的解决方案来绘制彩虹色的扇子。
有几种方法可以做到这一点,每种方法都有缺点:
- 我可以简单地使用图像。但我允许用户放大场景,并且我希望避免出现任何伪影。
- 使用
CAGradientLayer
可以产生漂亮的彩虹。不幸的是,现在可以使用倾斜(或挤压)变换将矩形彩虹变换为三角形。 - 通过修改图层变换矩阵的m34矩阵元素可以获得图层的简单倾斜效果。但我无法获得三角形(因为该层必须具有无限大小)。
- OpenGL。这可行,但也许还有更简单的方法。
有什么建议吗?
最佳答案
您可以通过修改CALayer
的transform
属性来实现任何类型的四边形。 AGGeometryKit有一些不错的工具可以为四边形制作CATransform3D
。
关于iphone - 使用 CoreAnimation 绘制棱镜,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3172813/