gpt4 book ai didi

iphone - 可以在 EAGLLayer 之上使用 Quartz 2D 绘图吗?

转载 作者:行者123 更新时间:2023-11-29 04:49:43 24 4
gpt4 key购买 nike

在我的应用程序中,我有一个均衡器,后面有一个可视化工具。

均衡器是一系列点,它们是 ImageView ,在它们之间使用 Quartz 2D 绘制路径(底部和左侧也有刻度线来表示频率和增益量)。其背后是使用 OpenGL 和 CAEAGLLayer 完成的可视化工具。

设置的方式是我的 View Controller 的主视图有一个处理可视化工具的 subview ,在其上方是绘制路径的主视图的另一个 subview 。它们上方是 eq 点的 ImageView 。

发生的情况是,路径绘制得很好,直到歌曲开始并且可视化工具开始绘制。看起来它消灭了上面的 Quartz 2D。即使每次绘制时都在其上方的 View 上调用 setNeedsDisplay 也是行不通的。就像 OpenGL 被赋予在那里进行绘制的独占访问权一样。然而,UIImageView eq 点保持可见。

有没有办法在带有 gl 层的 View 之上使用 Quartz 2D?我不想使用 OpenGL 来绘制路径和刻度线,因为我必须绘制到 512x512 或 1024x1024 纹理并缩放它,所以它看起来不完美,而且我已经有了可用的 Quartz绘制所有内容的代码。

最佳答案

Is there any way to use Quartz 2D on top of a view with a gl layer?

是的,这是明确支持的。 docs甚至提供有关如何优化此配置的绘图的详细信息。

我怀疑您的 View 实际上顺序错误,GL View 位于顶部。首先,确保您的 GL View 被标记为不透明(为了性能,但也因为如果顺序错误,它会变得更加明显)。然后检查您的 View 顺序(检查主视图的 subview )。

关于iphone - 可以在 EAGLLayer 之上使用 Quartz 2D 绘图吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9049929/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com