lxy 1 rok temu
rodzic
commit
a8ac930f5c

+ 1 - 5
LenzCameraNativeModuleForRN/Classes/inner/Manager/CameraManager.m

@@ -42,10 +42,9 @@
     [device lockForConfiguration:nil];
 
     for (AVCaptureDeviceFormat *format in supportedFormats) {
+        // 目标格式与当前预览宽高比一致
         CMVideoDimensions dimensions = CMVideoFormatDescriptionGetDimensions((CMVideoFormatDescriptionRef)[format formatDescription]);
-        
 //        NSLog(@"~~~~~~: H: %d, W:%D, r:%f", dimensions.width, dimensions.height, (CGFloat)dimensions.width/(CGFloat)dimensions.height);
-        
         if (((CGFloat)dimensions.width/(CGFloat)dimensions.height) == radio && dimensions.height == desiredHeight) {
             bestFormat = format;
             break;
@@ -62,12 +61,9 @@
 //                if (bestVideoDimensions.height <= dimensions.height) {
 //                    bestFormat = format;
 //                }
-                
                 if (dimensions.height == 1080) {
                     bestFormat = format;
                 }
-                
-                
             }
         }
     }

+ 3 - 1
LenzCameraNativeModuleForRN/Classes/inner/OperationNode/OperationNodeVideoBase.m

@@ -56,7 +56,9 @@
     self.isRecording = updatedRecording && [self start];
 
     if(self.isRecording){
-        self.controller.panoramaGuideView.hidden = NO;
+        if (self.controller.mode == SDK_CAPTURE_MODE_INTELLEGENCE_PANORAMA) {
+            self.controller.panoramaGuideView.hidden = NO;
+        }
         if ([self.controller.panoramOrientationGuideView.delegate respondsToSelector:@selector(panoramDirDidChange)]) {
             [self.controller.panoramOrientationGuideView.delegate panoramDirDidChange];
         }

+ 25 - 9
LenzCameraNativeModuleForRN/Classes/inner/PCSBaseViewController/PCSBaseViewController.m

@@ -904,25 +904,35 @@
             double x = self.startPitchX.doubleValue - motion.attitude.pitch * 100;
             double y = self.startRollY.doubleValue - motion.attitude.roll * 100;
 
-            LenVideoStitchDirction dir = (LenVideoStitchDirction)wearSelf.panoramOrientationGuideView.selectedItemIndex;
-            if (dir == LenVideoStitchDirctionLeft || dir == LenVideoStitchDirctionRight) {
+            
+//            NSLog(@"&&&&&&& x:%f  y:%f", x, y);
+            
+            
+            PanoramaOrientationViewDirectionEnum dir = (PanoramaOrientationViewDirectionEnum)wearSelf.panoramOrientationGuideView.selectedItemIndex;
+            if (dir == PanoramaOrientationViewLeft || dir == PanoramaOrientationViewRight) {
                 if (fabs(x) < 3) {
+//                    NSLog(@"~~~~~~~~~~~~~~~  中");
                     [wearSelf.panoramaGuideView updateArrowWith:PanoramaArrowDirCenter dir:dir];
                 } else {
                     if (x > 0) {
+//                        NSLog(@"~~~~~~~~~~~~~~~  下");
                         [wearSelf.panoramaGuideView updateArrowWith:PanoramaArrowDirDown dir:dir];
                     } else {
+//                        NSLog(@"~~~~~~~~~~~~~~~  上");
                         [wearSelf.panoramaGuideView updateArrowWith:PanoramaArrowDirUp dir:dir];
                     }
                 }
-            } else if (dir == LenVideoStitchDirctionUp || dir == LenVideoStitchDirctionDown) {
+            } else if (dir == PanoramaOrientationViewUp || dir == PanoramaOrientationViewDown) {
                 
                 if (fabs(y) < 3) {
+//                    NSLog(@"~~~~~~~~~~~~~~~  中");
                     [wearSelf.panoramaGuideView updateArrowWith:PanoramaArrowDirCenter dir:dir];
                 } else {
                     if (y > 0) {
+//                        NSLog(@"~~~~~~~~~~~~~~~  左");
                         [wearSelf.panoramaGuideView updateArrowWith:PanoramaArrowDirLeft dir:dir];
                     } else {
+//                        NSLog(@"~~~~~~~~~~~~~~~  右");
                         [wearSelf.panoramaGuideView updateArrowWith:PanoramaArrowDirRight dir:dir];
                     }
                 }
@@ -1799,6 +1809,8 @@
                 [self panoramaOrientationViewslt:PanoramaOrientationViewDown];
             } else if (self.panoramOrientationGuideView.selectedItemIndex == PanoramaOrientationViewDown) {
                 [self panoramaOrientationViewslt:PanoramaOrientationViewUp];
+            } else {
+                [self panoramaOrientationViewslt:PanoramaOrientationViewAny];
             }
             
             [self.modeLabel mas_remakeConstraints:^(MASConstraintMaker *make) {
@@ -1907,6 +1919,8 @@
                 self.svContentView.transform = CGAffineTransformMakeRotation(0);
                 self.aiPanPromtLabel.transform = CGAffineTransformMakeRotation(0);
 
+            } else {
+                [self panoramaOrientationViewslt:PanoramaOrientationViewAny];
             }
 
         }
@@ -1994,6 +2008,8 @@
                 self.timerLabel.transform = CGAffineTransformMakeRotation(0);
                 self.svContentView.transform = CGAffineTransformMakeRotation(0);
                 self.aiPanPromtLabel.transform = CGAffineTransformMakeRotation(0);
+            } else {
+                [self panoramaOrientationViewslt:PanoramaOrientationViewAny];
             }
         }
             break;
@@ -2591,7 +2607,7 @@
         UIImage *image = nil;
         NSMutableArray *continousMutArray = [NSMutableArray array];
         [self.resourceModel.continousArray enumerateObjectsUsingBlock:^(LenzResourceItemModel * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
-            if (obj.path && obj.image) {
+            if (obj.path && obj.previewImage) {
                 [continousMutArray addObject:obj];
             }
         }];
@@ -2599,7 +2615,7 @@
         
         NSMutableArray *singleMutArray = [NSMutableArray array];
         [self.resourceModel.singleArray enumerateObjectsUsingBlock:^(LenzResourceItemModel * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
-            if (obj.path && obj.image) {
+            if (obj.path && obj.previewImage) {
                 [singleMutArray addObject:obj];
             }
         }];
@@ -2607,7 +2623,7 @@
         
         NSMutableArray *movieMutArray = [NSMutableArray array];
         [self.resourceModel.movieArray enumerateObjectsUsingBlock:^(LenzResourceItemModel * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
-            if (obj.path && obj.image) {
+            if (obj.path && obj.previewImage) {
                 [movieMutArray addObject:obj];
             }
         }];
@@ -2615,7 +2631,7 @@
         
         NSMutableArray *panoramMutArray = [NSMutableArray array];
         [self.resourceModel.panoramArray enumerateObjectsUsingBlock:^(LenzResourceItemModel * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
-            if (obj.path && obj.image) {
+            if (obj.path && obj.previewImage) {
                 [panoramMutArray addObject:obj];
             }
         }];
@@ -2623,7 +2639,7 @@
         
         NSMutableArray *aiPanoramMutArray = [NSMutableArray array];
         [self.resourceModel.aiPanoramArray enumerateObjectsUsingBlock:^(LenzResourceItemModel * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
-            if (obj.path && obj.image) {
+            if (obj.path && obj.previewImage) {
                 [aiPanoramMutArray addObject:obj];
             }
         }];
@@ -2802,7 +2818,7 @@
     }];
     
     itemModel.mode = self.mode;
-    itemModel.image = [self videoFrameImageWith:outputFileURL];
+    itemModel.previewImage = [self videoFrameImageWith:outputFileURL];
     [self.resourceModel.movieArray addObject:itemModel];
     self.resourceModel.lastIndex = self.mode;
     

+ 7 - 0
LenzCameraNativeModuleForRN/Classes/inner/PCSBaseViewController/PCSPreviewViewController.m

@@ -657,6 +657,13 @@
     }
 }
 
+- (BOOL)shouldAutorotate {
+    return NO;
+}
+- (UIInterfaceOrientationMask)supportedInterfaceOrientations {
+    return UIInterfaceOrientationMaskPortrait;
+}
+
 - (void)backAction {
     [self dismissViewControllerAnimated:YES completion:nil];
 }

+ 4 - 93
LenzCameraNativeModuleForRN/Classes/inner/UI/PanoramaGuideView/PanoramaGuideView.m

@@ -486,7 +486,6 @@ CGFloat const PanoramaGuideViewWOrH = 120;
             self.offSetLeft = @((120-38)/2);
         }
 
-    //    UIImage *resultImage = [self showDir:dir image:image];
         self.showImageView.image = image;
         [UIView animateWithDuration:.15 animations:^{
             switch (self.currentDirection) {
@@ -497,9 +496,8 @@ CGFloat const PanoramaGuideViewWOrH = 120;
                         make.left.right.bottom.mas_equalTo(0);
                     }];
                     [self.whiteArrow mas_remakeConstraints:^(MASConstraintMaker *make) {
-                        make.bottom.offset(-imageWH);
+                        make.bottom.mas_offset(-imageWH);
                         make.left.mas_equalTo(self.offSetLeft.doubleValue);
-//                        make.centerX.mas_equalTo(self);
                     }];
                 }
                     break;
@@ -510,8 +508,7 @@ CGFloat const PanoramaGuideViewWOrH = 120;
                         make.height.mas_lessThanOrEqualTo(self);
                     }];
                     [self.whiteArrow mas_remakeConstraints:^(MASConstraintMaker *make) {
-                        make.top.offset(imageWH);
-//                        make.centerX.mas_equalTo(self);
+                        make.top.mas_offset(imageWH);
                         make.left.mas_equalTo(self.offSetLeft.doubleValue);
 
                     }];
@@ -526,8 +523,7 @@ CGFloat const PanoramaGuideViewWOrH = 120;
                     }];
                     
                     [self.whiteArrow mas_remakeConstraints:^(MASConstraintMaker *make) {
-                        make.right.offset(-imageWH);
-//                        make.centerY.mas_equalTo(self);
+                        make.right.mas_offset(-imageWH);
                         make.top.mas_equalTo(self.offSetTop.doubleValue);
 
                     }];
@@ -542,8 +538,7 @@ CGFloat const PanoramaGuideViewWOrH = 120;
                     }];
                     
                     [self.whiteArrow mas_remakeConstraints:^(MASConstraintMaker *make) {
-                        make.left.offset(imageWH);
-//                        make.centerY.mas_equalTo(self);
+                        make.left.mas_offset(imageWH);
                         make.top.mas_equalTo(self.offSetTop.doubleValue);
 
                     }];
@@ -570,109 +565,25 @@ CGFloat const PanoramaGuideViewWOrH = 120;
         if (!self.showImageView.image) {
             return;
         }
-        CGFloat imageWidth = self.showImageView.image.size.width;
-        CGFloat imageHight = self.showImageView.image.size.height;
         if (dir == PanoramaOrientationViewDown || dir == PanoramaOrientationViewUp) {
             if (arrowDir == PanoramaArrowDirCenter) {
                 self.offSetLeft = @((120-38)/2);
-//                [self.whiteArrow mas_remakeConstraints:^(MASConstraintMaker *make) {
-//                    make.bottom.offset(-(PanoramaGuideViewWOrH * imageWidth)/imageHight);
-////                    make.centerX.mas_equalTo(self);
-//                    make.left.mas_offset(self.offSetLeft.doubleValue);
-//                }];
             } else if (arrowDir == PanoramaArrowDirLeft) {
                 self.offSetLeft = @(0);
-//                [self.whiteArrow mas_remakeConstraints:^(MASConstraintMaker *make) {
-//                    make.bottom.offset(-(PanoramaGuideViewWOrH * imageWidth)/imageHight);
-////                    make.left.mas_equalTo(self).mas_offset(10);
-//                    make.left.mas_offset(self.offSetLeft.doubleValue);
-//
-//                }];
             } else if (arrowDir == PanoramaArrowDirRight) {
                 self.offSetLeft = @(120-38);
-
-//                [self.whiteArrow mas_remakeConstraints:^(MASConstraintMaker *make) {
-//                    make.bottom.offset(-(PanoramaGuideViewWOrH * imageWidth)/imageHight);
-////                    make.right.mas_equalTo(self).mas_offset(-10);
-//                    make.left.mas_offset(self.offSetLeft.doubleValue);
-//
-//                }];
             }
         }
-//        else if (dir == PanoramaOrientationViewUp) {
-//            if (arrowDir == PanoramaArrowDirCenter) {
-//                self.offSetTop = @((120-38)/2);
-//
-////                [self.whiteArrow mas_remakeConstraints:^(MASConstraintMaker *make) {
-////                    make.top.offset((PanoramaGuideViewWOrH * imageWidth)/imageHight);
-//////                    make.centerX.mas_equalTo(self);
-////                    make.top.mas_offset(self.offSetTop.doubleValue);
-////                }];
-//            } else if (arrowDir == PanoramaArrowDirLeft) {
-//                self.offSetTop = @((120-38)/2);
-//
-//                [self.whiteArrow mas_remakeConstraints:^(MASConstraintMaker *make) {
-//                    make.top.offset((PanoramaGuideViewWOrH * imageWidth)/imageHight);
-//                    make.left.mas_equalTo(self).mas_offset(10);
-//                }];
-//            } else if (arrowDir == PanoramaArrowDirRight) {
-//                [self.whiteArrow mas_remakeConstraints:^(MASConstraintMaker *make) {
-//                    make.top.offset((PanoramaGuideViewWOrH * imageWidth)/imageHight);
-//                    make.right.mas_equalTo(self).mas_offset(-10);
-//                }];
-//            }
-//
-//        }
         else if (dir == PanoramaOrientationViewLeft || dir == PanoramaOrientationViewRight) {
             if (arrowDir == PanoramaArrowDirCenter) {
                 self.offSetTop = @((120-38)/2);
-//
-//                [self.whiteArrow mas_remakeConstraints:^(MASConstraintMaker *make) {
-//                    make.left.offset((PanoramaGuideViewWOrH * imageWidth)/imageHight);
-////                    make.centerY.mas_equalTo(self);
-//                    make.top.mas_offset(self.offSetTop.doubleValue);
-//
-//                }];
             } else if (arrowDir == PanoramaArrowDirUp) {
                 self.offSetTop = @(0);
-
-//                [self.whiteArrow mas_remakeConstraints:^(MASConstraintMaker *make) {
-//                    make.left.offset((PanoramaGuideViewWOrH * imageWidth)/imageHight);
-////                    make.top.mas_equalTo(self).mas_offset(10);
-//                    make.top.mas_offset(self.offSetTop.doubleValue);
-//
-//                }];
             } else if (arrowDir == PanoramaArrowDirDown) {
                 self.offSetTop = @(120-38);
-
-//                [self.whiteArrow mas_remakeConstraints:^(MASConstraintMaker *make) {
-//                    make.left.offset((PanoramaGuideViewWOrH * imageWidth)/imageHight);
-////                    make.bottom.mas_equalTo(self).mas_offset(-10);
-//                    make.top.mas_offset(self.offSetTop.doubleValue);
-//
-//                }];
             }
             
         }
-//        else if (dir == PanoramaOrientationViewRight) {
-//            if (arrowDir == PanoramaArrowDirCenter) {
-//                [self.whiteArrow mas_remakeConstraints:^(MASConstraintMaker *make) {
-//                    make.left.offset((PanoramaGuideViewWOrH * imageWidth)/imageHight);
-//                    make.centerY.mas_equalTo(self);
-//                }];
-//            } else if (arrowDir == PanoramaArrowDirUp) {
-//                [self.whiteArrow mas_remakeConstraints:^(MASConstraintMaker *make) {
-//                    make.left.offset((PanoramaGuideViewWOrH * imageWidth)/imageHight);
-//                    make.top.mas_equalTo(self).mas_offset(10);
-//                }];
-//            } else if (arrowDir == PanoramaArrowDirDown) {
-//                [self.whiteArrow mas_remakeConstraints:^(MASConstraintMaker *make) {
-//                    make.right.offset(-(PanoramaGuideViewWOrH * imageWidth)/imageHight);
-//                    make.bottom.mas_equalTo(self).mas_offset(-10);
-//                }];
-//            }
-//        }
-        
     });
 }