Android GLSURFACHEVIEW在活动中查看几个图像
我正在尝试用9张图片(3x3)进行照片拼贴,并对所有图片应用不同的效果。Android GLSURFACHEVIEW在活动中查看几个图像,android,glsurfaceview,image-effects,Android,Glsurfaceview,Image Effects,我正在尝试用9张图片(3x3)进行照片拼贴,并对所有图片应用不同的效果。 目前,我正在尝试编辑此演示项目: 但我不知道如何在屏幕上设置9个图像。在布局中设置多个GLSurfaceViews时,错误显示: 03-26 11:26:21.315 6237-6237/com.test.effectsfilter_demo E/AndroidRuntime﹕ FATAL EXCEPTION: main Process: com.test.effectsfilter_demo, PID:
目前,我正在尝试编辑此演示项目:
但我不知道如何在屏幕上设置9个图像。在布局中设置多个GLSurfaceViews时,错误显示:
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
需要帮忙吗
另外,还有其他方法可以产生Duotone效果吗?首先,不要创建多个GLSURFACHEVIEW实例。每个SurfaceView实例都有两个部分:曲面和视图。创建九个同级视图是可以的,但每个曲面都是由系统合成的单独图形层,拥有九个同级视图将效率低下。系统最终将使用GLES来完成合成,因此您最好自己完成合成(为了效率、灵活性和简单性) 我不知道你为什么会犯这样的错误。您需要查看引发异常的代码行。如果问题中的消息是您得到的全部,那么有什么东西正在过滤异常,您需要附加一个调试器,并在NPE上中断它 无论如何,您都希望在一个GLSURFACHEVIEW上绘制所有九个图像。快速查看演示代码(看起来结构良好),Texturenderer.java中的函数
computeOutputVertices()
正在设置输出的位置和大小。修改该选项以将九个纹理中的每一个放置在您希望它们移动的位置,并修改renderTexture()
以在循环中操作
有关过滤图像的另一种方法,请参见