0

我想让相机预览的区域是SurfaceView的一半,所以我修改了ContinuousCaptureActivity的代码。详情如下:

用于GLES20.glViewport(0, 0, viewWidth / 2, viewHeight / 2);替换https://github.com/google/grafika/blob/master/src/com/android/grafika/ContinuousCaptureActivity.java#L436

但结果很奇怪,见下图。

在此处输入图像描述

我真的无法理解它,正确的方法是什么?

谁能给我一些建议?

4

1 回答 1

1

我的第一个想法是你需要一个 glClear() 在那里(视口设置为覆盖整个表面),因为你不再用 blit 填充整个表面。否则你会得到未初始化的数据,并且在基于 tile 的架构上,事情会变得很奇怪。

摆弄视口并不是正确的方法。只需画一个较小的矩形。使用 Sprite2d 并更改 X/Y 比例因子。有关示例,请参见 TextureFromCameraActivity - 您可以缩放矩形、放大、旋转等。

于 2015-10-30T18:23:12.223 回答