gpt4 book ai didi

ios - GLKView 后面的 UIImage

转载 作者:行者123 更新时间:2023-11-29 03:09:23 24 4
gpt4 key购买 nike

我正在尝试使用 GLKView 创建带有触摸输入的签名。但现在我需要一个 UIImage 位于签名下方。简而言之:我想使用自定义 GLKView 在 UIImage 上方绘制线条。

问题是我的线每次都绘制在图像下方,无论我是否将不透明设置为 NO 和 insertSubview: belowSubview..

否则我会尝试借助纹理,但我不知道该怎么做......

如果可能,我不想使用 GLKViewController ;)提前致谢!

更新:

我发现了我的问题,现在我得到了我想要的结果。

在构造函数的 GLKView 中,我启动了 EAGLContext。我忘了将上下文设置为 self。

context = [[EAGLContext alloc] initWithAPI:kEAGLRenderingAPIOpenGLES2];

if (context) {

self.opaque = NO; // set view transparent
self.context = context; // set the context to itself
}

虽然将不透明设置为 NO 不是一个好的解决方案,但它是完成我的任务的唯一有效解决方案。

最佳答案

有几种方法值得研究。

一个是查看 View 包含而不是分层 — 使 GLKView 成为您在其中绘制 UIImage 的 View 的 subview 。

另一种是使用 OpenGL ES 在 GLKView 中绘制图像。这是一个多一点的工作,但如果你查看文档和已经在 SO 上的答案就不会太难。它还有一些额外的好处:因为背景图像和您的绘图都进入同一个帧缓冲区,您可以控制 GL 中的混合。以下是一些入门提示:

  1. 使用 GLKTextureLoader 将您的图像放入 OpenGL ES 纹理中。
  2. 设置一个 GLKBaseEffect 实例以使用您的纹理进行绘制。不要忘记告诉它 prepareToDraw
  3. 使用纹理和效果绘制四边形。 This answer 有一个相当不错的起点。
  4. 画完背景图后,画上你的签名,它就会在图像的上方。

关于ios - GLKView 后面的 UIImage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22385770/

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