我想让相机预览区域成为SurfaceView的一半,所以我修改了ContinuousCaptureActivity的代码。 详情如下:
使用GLES20.glViewport(0, 0, viewWidth / 2, viewHeight / 2);
替换https://github.com/google/grafika/blob/master/src/com/android/grafika/ContinuousCaptureActivity.java#L436
但结果很奇怪,见下图。
我真的无法理解它,做正确的方法是什么?
谁可以给我一些建议?
答案 0 :(得分:1)
我的第一个想法是你需要一个glClear()(视口设置为覆盖整个表面),因为你不再用blit填充整个表面。否则你会获得未初始化的数据,而在基于磁贴的体系结构中,事情会变得奇怪。
摆弄视口并不是一种正确的方法。只需绘制一个较小的矩形。使用Sprite2d并更改X / Y比例因子。有关示例,请参阅TextureFromCameraActivity - 您可以缩放矩形,放大,旋转等。