【发布时间】:2019-10-09 12:38:39
【问题描述】:
我正在使用的设备中的相机返回旋转图像(横向 16:9)。为了获取流,我使用Camera2 API,对于投影,我使用TextureView。 TextureView 是固定大小。当我尝试使用Matrix旋转它时,会导致图像被裁剪。
这是我在轮换之前拥有的:
然后我旋转它并像这样调整TextureView的大小:
private fun updateTransform() {
val matrix = Matrix()
val centerX = textureView.width / 2f
val centerY = textureView.height / 2f
matrix.postRotate(90.toFloat(), centerX, centerY)
textureView.setTransform(matrix)
textureView.layoutParams = FrameLayout.LayoutParams(textureView.width, textureView.height)
}
结果如下图:
我希望将图像拉伸以填充TextureView。需要注意的重要一点是,我不需要考虑设备旋转,因为它总是纵向的。我也只为一台设备编程,所以我不需要考虑不同的相机类型等。
如何在不裁剪的情况下旋转图像?
【问题讨论】:
标签: android kotlin android-camera2 textureview