首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >安卓GLSurfaceView活动中的几个图像

安卓GLSurfaceView活动中的几个图像
EN

Stack Overflow用户
提问于 2015-03-26 18:35:24
回答 1查看 416关注 0票数 0

我正在尝试用9张图片(3x3)制作照片拼贴,并在所有图片上应用不同的效果。

目前,我正在尝试编辑此演示项目:

https://github.com/Grishu/ImageEffects

但是我不知道如何在屏幕上设置9个图像。当我在布局中设置多个GLSurfaceViews时,错误显示:

代码语言:javascript
复制
03-26 11:26:21.315    6237-6237/com.test.effectsfilter_demo E/AndroidRuntime﹕ FATAL EXCEPTION: main
    Process: com.test.effectsfilter_demo, PID: 6237
    java.lang.NullPointerException

有什么需要帮忙的吗?

附言:有没有其他方法可以让双色调产生效果?

EN

回答 1

Stack Overflow用户

发布于 2015-03-27 00:17:56

首先也是最重要的,不要创建多个GLSurfaceView实例。每个SurfaceView实例都有两个部分,即曲面和视图。创建9个同级视图是可以的,但是每个Surface是由系统合成的单独的图形层,并且拥有其中的9个将是低效的。系统最终将使用GLES进行合成,因此您最好(为了提高效率、灵活性和简单性)自己进行合成。

我不知道为什么你会得到这个特定的错误。您需要查看抛出异常的代码行。如果问题中的消息是您所得到的全部,那么某些东西正在过滤异常,您将需要附加一个调试器,并在NPE上将其中断。

无论如何,您都希望在一个GLSurfaceView上绘制所有9个图像。快速查看一下演示代码(看起来结构很好),TextureRenderer.java中的函数computeOutputVertices()设置了输出的位置和大小。修改它以将九个纹理中的每个纹理定位到您希望它们到达的位置,并修改renderTexture()以在循环中操作。

有关过滤图像的另一种方法,请参见this demo

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

https://stackoverflow.com/questions/29276293

复制
相关文章

相似问题

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