From 2b51baa1981fb445b938e64bdce539e58fe70264 Mon Sep 17 00:00:00 2001 From: Runt <qingingrunt2010@qq.com> Date: Sat, 26 Jul 2025 13:17:14 +0000 Subject: [PATCH] 小窗缩放, 相机转小窗显示 小窗旋转,相机画面旋转 关闭按钮优化 --- LiveProject/tool/MetalRenderer.swift | 25 ++++++++++++++++++++++++- 1 files changed, 24 insertions(+), 1 deletions(-) diff --git a/LiveProject/tool/MetalRenderer.swift b/LiveProject/tool/MetalRenderer.swift index 61bd769..92b2fe4 100644 --- a/LiveProject/tool/MetalRenderer.swift +++ b/LiveProject/tool/MetalRenderer.swift @@ -16,6 +16,7 @@ private var currentPixelBuffer: CVPixelBuffer? private let textureCache: CVMetalTextureCache + private var rotate:Int = 0; init(mtkView: MTKView) { guard let device = MTLCreateSystemDefaultDevice(), @@ -63,7 +64,24 @@ guard drawableSize.width > 0, drawableSize.height > 0 else { return } // 加方向修正:顺时针旋转90度 - var ciImage = CIImage(cvPixelBuffer: pixelBuffer).oriented(.right) + var orien:CGImagePropertyOrientation = .up; + switch self.rotate{ + case 0: + break; + case 90: + orien = .right; + break; + case 180: + orien = .down; + break; + case 270: + orien = .left; + break; + default: + orien = .up; + } + print(" roate = \(rotate)") + var ciImage = CIImage(cvPixelBuffer: pixelBuffer).oriented(orien) // 等比缩放后居中 let sourceExtent = ciImage.extent @@ -99,4 +117,9 @@ //刷新 } + + func updateRotate(angle:Int){ + rotate = angle; + } + } -- Gitblit v1.9.1