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