首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UIImage背后的GLKView

UIImage背后的GLKView
EN

Stack Overflow用户
提问于 2014-03-13 17:02:42
回答 1查看 1.3K关注 0票数 0

我正在尝试使用GLKView创建一个带有触摸输入的签名。但是现在我需要一个UIImage在签名下面。短:我想用自定义的UIImage在GLKView上画线。

问题是,无论我是否将不透明设置为no和insertSubview: belowSubview,我的直线每次都会绘制在图像下面。

否则,我试着用纹理的帮助,但我不知道如何做到这一点。

如果可能的话,我不想使用GLKViewController ;)预先谢谢!

更新:

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

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

代码语言:javascript
复制
context = [[EAGLContext alloc] initWithAPI:kEAGLRenderingAPIOpenGLES2];

if (context) {

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

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-03-17 17:07:51

有几种方法值得研究。

一种是查看视图包含,而不是分层--使GLKView成为正在绘制UIImage的视图的子视图。

另一种是使用OpenGL绘制GLKView中的图像。这是一个多一点的工作,但如果您查看文档和答案已经在这里这样做,但不是太难。它还有一些额外的好处:由于背景图像和绘图都进入相同的框架缓冲区,所以可以控制GL中的混合。下面是一些开始的建议:

  1. 使用GLKTextureLoader将您的图像转换为OpenGL纹理。
  2. 设置一个用纹理绘制的GLKBaseEffect实例。别忘了告诉prepareToDraw
  3. 使用纹理和效果绘制一个四角图。This answer在这方面有一个相当不错的起点。
  4. 在绘制背景图像后,绘制您的签名,它将在图像的顶部。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22385770

复制
相关文章

相似问题

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