我正在尝试创建基于相机的Android应用。 我想将屏幕分成2或4个视图。 (当显示2个视图时,一个将在上方,一个将在下方。当4个视图时,2个将在顶部(并排),2个将在底部(并排)) 我想在所有视图中显示相机所看到的内容。 我的意思是所有的观点必须根据相机渲染。 可能吗?如何?
答案 0 :(得分:0)
这不是实用的AFAIK。相机将仅绘制一个SurfaceView
,而不是四个。虽然您可以尝试制作模拟SurfaceView
,然后将信息传递给四个单独的SurfaceViews
,但您的表现可能会非常糟糕。
答案 1 :(得分:0)
我认为可行的唯一方法是使用setPreviewCallback()
方法获取这些帧,将它们转换为位图或jpeg,然后在其他表面视图上绘制这些图像。我虽然在CommonsWare。这将是缓慢和痛苦的。
答案 2 :(得分:0)
我在我的应用程序Face Costume中实际上已经这样做了: Face Costume
我所做的是使用相机预览缓冲区,将其从YUV转换为RGB,并在OpenGL纹理上渲染它。您不必选择OpenGL,也可以使用常规的canvas方法来完成。
在双核平板电脑上运行良好......尚未在其他硬件上进行过测试。