我希望在相机顶部放置一个openGL模型(通过GLSurfaceView),它有自己的SurfaceView。当然这一定是可能的,像Layar这样的应用程序可以做到这一点。
以下是我正在尝试的:
public class MainActivity extends Activity {
private CameraSurfaceView mCameraSurfaceView;
private GLSurfaceView mCubeGLSurfaceView;
private FrameLayout mFrameLayout;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
mFrameLayout = new FrameLayout(this);
mCameraSurfaceView = new CameraSurfaceView(this);
mCubeGLSurfaceView = new GLSurfaceView(this);
mCubeGLSurfaceView.setRenderer(new CubeRenderer());
//mCubeGLSurfaceView.setZOrderMediaOverlay(true);
mFrameLayout.addView(mCameraSurfaceView);
mFrameLayout.addView(mCubeGLSurfaceView);
setContentView(mFrameLayout);
}
}
现在:只有相机出现了。我在网上读到过关于GLSurfaceView的setzordermeDiagoverlay属性的文章;在上面的代码中设置为TRUE,3D立方体显示为黑色背景(即不显示相机预览)。
参考文献:
我尝试过的其他测试:更改相应SurfaceView的addView顺序没有帮助;它只显示摄像头(我在某处读到,更改addView顺序可能会有所帮助)。
谢谢你的帮助!
由于您声明当前只有相机预览可见,因此可能是您没有正确排序视图。这就是我为创建您想要的东西所做的。
在活动中,创建源自GLSurfaceView的MySurfaceView实例源自SurfaceView的MyCameraPreview实例
在我的活动的onCreate方法中,我执行以下操作:
mySurfaceView = new MySurfaceView(this);
addContentView(mySurfaceView, new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
myCameraPreview = new MyCameraPreview(this, myCamera);
addContentView(myCameraPreview, new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
请注意,使用此方法时,您不会使用布局xml。
这将创建两个相互重叠的视图,并在背景中使用相机预览。
现在你需要让MySurface视图绘制一个透明的背景,这样相机预览就会显示在你渲染的对象后面。如果您使用的是OpenGL ES 2.0,请将其添加到MySurfaceView类的构造函数中。
setEGLContextClientVersion(2);
setEGLConfigChooser(8,8,8,8,16,0);
getHolder().setFormat(PixelFormat.TRANSLUCENT);
setRenderMode(GLSurfaceView.RENDERMODE_WHEN_DIRTY);
我只是自己完成了这个过程,所以我可能错过了一些细节。
问题内容: 我之前曾问过一个问题,但没有收到任何回应,因此我正在尝试 。 我需要在 Android 3.0的Motorola Xoom上绘制带有一些随附标签和图形的2D图片。尽管我只需要用 SurfaceView(Canvas)或GLSurfaceView即可完成操作,但我真的很想同时使用这两者, 因为使用GLSurfaceView可以更快地渲染,而 使用SurfaceView可以更轻松地标记和图
我需要在曲面视图上进行GLSURFACHEVIEW。GLSurface view将有一个渲染器,SurfaceView将是摄影机视图。 下面是我的布局 在我的活动中,我得到了下面这样的表面视图 在这里我的glView是来作为null.如何实现这一行为在一个正确的方式?
我有一个Android应用程序,显示视频使用gstream er。它类似于这里提到的教程: http://docs.gstreamer.com/display/GstSDK/Android教程3:视频 特别是,它使用GStreamerSurfaceView扩展了SurfaceView。 我现在想执行一些处理视频与另一个库,使用GLSurfaceView: 我怎么能"插入"GLSurfaceView
我目前正在开发一款只使用2D图形的游戏。 在游戏中,我广泛使用android的来显示我的图形。我听说,使用硬件加速图形,我可以使用它来提高我的应用程序的性能,而不是使用当前的。 目前,我有一个扩展的类,当我自己的线程类扩展调用和方法时,它会更新和渲染游戏状态。线程基本上帮助我保持几乎恒定的FPS。 现在的问题是:我如何从更改为,并调用方法从线程更新和渲染游戏状态,以仍然控制FPS。我阅读了Open
表情测试 图片转文字 相框 拍摄图片
摄像头用于采集图像和影像信息,通过模块间的组合完成各种创意活动。 净重量:8.1g 体积:24×24×22mm 参数 分辨率:1280×720 像素大小:3.4um×3.4um 最大图像传输速率:全尺寸 @ 30fps 视场角:100° 镜片结构:4G+IR 焦比:2.97 有效焦距:2.4mm 功耗:100uA(待机)~240mW(工作) 电源:USB总线电源 抗跌落能力:1m 工作温度:-30