Android:在SurfaceView中缩放和转换相机预览流



我使用SurfaceView在屏幕上显示相机预览流。现在我想使用一个在线计算的矩形区域(例如,从(0.2,0.3)到(0.5,0.6)的区域)来填充整个预览区域,通过拉伸和移动预览流(因此不改变稍后从相机拍摄的照片)。

在IOS上,我通过对视图应用转换实现了相同的目标。在Android上,我想我应该使用SurfaceView。setScaleX/Y和SurfaceView。setTranslationX/Y分别实现拉伸和移动。然而,当我尝试时,似乎两种方法都会导致类似的结果:翻译预览。我甚至尝试了settrotation,它令人惊讶地将预览作为一个整体围绕点移动,而不是像你倾斜你的头一样"旋转"它。

我哪里错了?关于如何实现我的目标,你有什么建议吗?

虽然我仍然不明白为什么缩放和翻译导致类似的结果,我设法通过改变视图的左&右&top&底部(setLeft/Right/等)来得到我想要的。(有效地拉伸和移动图像)。

最新更新