ARFrame中的CapturedImage是横向/水平的。我该如何将其更改为纵向?
谢谢。
ARFrame.
displayTransform(for:viewportSize:)
会返回一个转换矩阵,将图像从传感器原生方向旋转到你指定的任意UI方向,并提供一个缩放因子以适应视口,其宽高比不一定与相机相同。
然后,您可以在正在使用的显示管道中使用该转换来显示旋转后的图像。例如:
查看基于Metal的 ARKit 应用程序的Xcode项目模板,以了解如何将该转换矩阵传输给顶点着色器。
从像素缓冲区创建一个 Core Image 的CIImage
,然后使用transformed(by:)
获取旋转后的图像,然后将其转换为UIImage
,并在UIImageView
中显示。
frame.displayTransform(for: .portrait, viewportSize: CGSize(width: height, height: width)).inverted()
将我的竖屏 CGRect
旋转到了 ARFrame
捕捉图像的横向方向。