|
@@ -51,6 +51,7 @@
|
|
#import "SVProgressHUD.h"
|
|
#import "SVProgressHUD.h"
|
|
#import "PCSAutherView.h"
|
|
#import "PCSAutherView.h"
|
|
#import "PCSDeviceOrientationManager.h"
|
|
#import "PCSDeviceOrientationManager.h"
|
|
|
|
+#import "UIImage+ImageRotate.h"
|
|
|
|
|
|
#import <LenzTensorFlowSDK/LenzTensorFlow.h>
|
|
#import <LenzTensorFlowSDK/LenzTensorFlow.h>
|
|
|
|
|
|
@@ -2498,6 +2499,8 @@
|
|
- (void)savePhotoWith:(NSData *)data isRemake:(BOOL)isRemake{
|
|
- (void)savePhotoWith:(NSData *)data isRemake:(BOOL)isRemake{
|
|
UIImage *image = [[UIImage alloc] initWithData:data];
|
|
UIImage *image = [[UIImage alloc] initWithData:data];
|
|
|
|
|
|
|
|
+ UIImage *saveImage = [self rotateImageWith:image];
|
|
|
|
+ data = UIImageJPEGRepresentation(saveImage, 1);
|
|
NSString *path = [LenzDataManager saveImageWith:data mode:self.mode];
|
|
NSString *path = [LenzDataManager saveImageWith:data mode:self.mode];
|
|
LenzResourceItemModel *itemModel = [[LenzResourceItemModel alloc]init];
|
|
LenzResourceItemModel *itemModel = [[LenzResourceItemModel alloc]init];
|
|
itemModel.path = path;
|
|
itemModel.path = path;
|
|
@@ -2511,6 +2514,7 @@
|
|
|
|
|
|
|
|
|
|
itemModel.image = image;
|
|
itemModel.image = image;
|
|
|
|
+ itemModel.previewImage = saveImage;
|
|
itemModel.isRemake = isRemake;
|
|
itemModel.isRemake = isRemake;
|
|
|
|
|
|
switch (self.mode) {
|
|
switch (self.mode) {
|
|
@@ -2559,6 +2563,7 @@
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
UIImage *image = [[UIImage alloc] initWithData:imageData];
|
|
UIImage *image = [[UIImage alloc] initWithData:imageData];
|
|
|
|
+
|
|
BOOL isRemake = [self.tensorFlow remake:image];
|
|
BOOL isRemake = [self.tensorFlow remake:image];
|
|
__block BOOL needCheckRemake = NO;
|
|
__block BOOL needCheckRemake = NO;
|
|
[[SDKParameters shared].items enumerateObjectsUsingBlock:^(SDKParametersItem * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
|
|
[[SDKParameters shared].items enumerateObjectsUsingBlock:^(SDKParametersItem * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
|
|
@@ -2628,20 +2633,20 @@
|
|
case SDK_CAPTURE_MODE_CONTINUOUS: {
|
|
case SDK_CAPTURE_MODE_CONTINUOUS: {
|
|
if (self.resourceModel.continousArray.count > 0) {
|
|
if (self.resourceModel.continousArray.count > 0) {
|
|
LenzResourceItemModel *model = self.resourceModel.continousArray.lastObject;
|
|
LenzResourceItemModel *model = self.resourceModel.continousArray.lastObject;
|
|
- image = model.image;
|
|
|
|
|
|
+ image = model.previewImage;
|
|
} else {
|
|
} else {
|
|
if (self.resourceModel.singleArray.count > 0) {
|
|
if (self.resourceModel.singleArray.count > 0) {
|
|
LenzResourceItemModel *model = self.resourceModel.singleArray.lastObject;
|
|
LenzResourceItemModel *model = self.resourceModel.singleArray.lastObject;
|
|
- image = model.image;
|
|
|
|
|
|
+ image = model.previewImage;
|
|
} else if (self.resourceModel.movieArray.count > 0) {
|
|
} else if (self.resourceModel.movieArray.count > 0) {
|
|
LenzResourceItemModel *model = self.resourceModel.movieArray.lastObject;
|
|
LenzResourceItemModel *model = self.resourceModel.movieArray.lastObject;
|
|
- image = model.image;
|
|
|
|
|
|
+ image = model.previewImage;
|
|
} else if (self.resourceModel.panoramArray.count > 0) {
|
|
} else if (self.resourceModel.panoramArray.count > 0) {
|
|
LenzResourceItemModel *model = self.resourceModel.panoramArray.lastObject;
|
|
LenzResourceItemModel *model = self.resourceModel.panoramArray.lastObject;
|
|
- image = model.image;
|
|
|
|
|
|
+ image = model.previewImage;
|
|
} else if (self.resourceModel.aiPanoramArray.count > 0) {
|
|
} else if (self.resourceModel.aiPanoramArray.count > 0) {
|
|
LenzResourceItemModel *model = self.resourceModel.aiPanoramArray.lastObject;
|
|
LenzResourceItemModel *model = self.resourceModel.aiPanoramArray.lastObject;
|
|
- image = model.image;
|
|
|
|
|
|
+ image = model.previewImage;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -2650,20 +2655,20 @@
|
|
case SDK_CAPTURE_MODE_SINGLE:{
|
|
case SDK_CAPTURE_MODE_SINGLE:{
|
|
if (self.resourceModel.singleArray.count > 0) {
|
|
if (self.resourceModel.singleArray.count > 0) {
|
|
LenzResourceItemModel *model = self.resourceModel.singleArray.lastObject;
|
|
LenzResourceItemModel *model = self.resourceModel.singleArray.lastObject;
|
|
- image = model.image;
|
|
|
|
|
|
+ image = model.previewImage;
|
|
} else {
|
|
} else {
|
|
if (self.resourceModel.continousArray.count > 0) {
|
|
if (self.resourceModel.continousArray.count > 0) {
|
|
LenzResourceItemModel *model = self.resourceModel.continousArray.lastObject;
|
|
LenzResourceItemModel *model = self.resourceModel.continousArray.lastObject;
|
|
- image = model.image;
|
|
|
|
|
|
+ image = model.previewImage;
|
|
} else if (self.resourceModel.movieArray.count > 0) {
|
|
} else if (self.resourceModel.movieArray.count > 0) {
|
|
LenzResourceItemModel *model = self.resourceModel.movieArray.lastObject;
|
|
LenzResourceItemModel *model = self.resourceModel.movieArray.lastObject;
|
|
- image = model.image;
|
|
|
|
|
|
+ image = model.previewImage;
|
|
} else if (self.resourceModel.panoramArray.count > 0) {
|
|
} else if (self.resourceModel.panoramArray.count > 0) {
|
|
LenzResourceItemModel *model = self.resourceModel.panoramArray.lastObject;
|
|
LenzResourceItemModel *model = self.resourceModel.panoramArray.lastObject;
|
|
- image = model.image;
|
|
|
|
|
|
+ image = model.previewImage;
|
|
} else if (self.resourceModel.aiPanoramArray.count > 0) {
|
|
} else if (self.resourceModel.aiPanoramArray.count > 0) {
|
|
LenzResourceItemModel *model = self.resourceModel.aiPanoramArray.lastObject;
|
|
LenzResourceItemModel *model = self.resourceModel.aiPanoramArray.lastObject;
|
|
- image = model.image;
|
|
|
|
|
|
+ image = model.previewImage;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -2672,20 +2677,20 @@
|
|
case SDK_CAPTURE_MODE_MOVIE:{
|
|
case SDK_CAPTURE_MODE_MOVIE:{
|
|
if (self.resourceModel.movieArray.count > 0) {
|
|
if (self.resourceModel.movieArray.count > 0) {
|
|
LenzResourceItemModel *model = self.resourceModel.movieArray.lastObject;
|
|
LenzResourceItemModel *model = self.resourceModel.movieArray.lastObject;
|
|
- image = model.image;
|
|
|
|
|
|
+ image = model.previewImage;
|
|
} else {
|
|
} else {
|
|
if (self.resourceModel.singleArray.count > 0) {
|
|
if (self.resourceModel.singleArray.count > 0) {
|
|
LenzResourceItemModel *model = self.resourceModel.singleArray.lastObject;
|
|
LenzResourceItemModel *model = self.resourceModel.singleArray.lastObject;
|
|
- image = model.image;
|
|
|
|
|
|
+ image = model.previewImage;
|
|
} else if (self.resourceModel.continousArray.count > 0) {
|
|
} else if (self.resourceModel.continousArray.count > 0) {
|
|
LenzResourceItemModel *model = self.resourceModel.continousArray.lastObject;
|
|
LenzResourceItemModel *model = self.resourceModel.continousArray.lastObject;
|
|
- image = model.image;
|
|
|
|
|
|
+ image = model.previewImage;
|
|
} else if (self.resourceModel.panoramArray.count > 0) {
|
|
} else if (self.resourceModel.panoramArray.count > 0) {
|
|
LenzResourceItemModel *model = self.resourceModel.panoramArray.lastObject;
|
|
LenzResourceItemModel *model = self.resourceModel.panoramArray.lastObject;
|
|
- image = model.image;
|
|
|
|
|
|
+ image = model.previewImage;
|
|
} else if (self.resourceModel.aiPanoramArray.count > 0) {
|
|
} else if (self.resourceModel.aiPanoramArray.count > 0) {
|
|
LenzResourceItemModel *model = self.resourceModel.aiPanoramArray.lastObject;
|
|
LenzResourceItemModel *model = self.resourceModel.aiPanoramArray.lastObject;
|
|
- image = model.image;
|
|
|
|
|
|
+ image = model.previewImage;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -2694,20 +2699,20 @@
|
|
case SDK_CAPTURE_MODE_PANORAMA:{
|
|
case SDK_CAPTURE_MODE_PANORAMA:{
|
|
if (self.resourceModel.panoramArray.count > 0) {
|
|
if (self.resourceModel.panoramArray.count > 0) {
|
|
LenzResourceItemModel *model = self.resourceModel.panoramArray.lastObject;
|
|
LenzResourceItemModel *model = self.resourceModel.panoramArray.lastObject;
|
|
- image = model.image;
|
|
|
|
|
|
+ image = model.previewImage;
|
|
} else {
|
|
} else {
|
|
if (self.resourceModel.singleArray.count > 0) {
|
|
if (self.resourceModel.singleArray.count > 0) {
|
|
LenzResourceItemModel *model = self.resourceModel.singleArray.lastObject;
|
|
LenzResourceItemModel *model = self.resourceModel.singleArray.lastObject;
|
|
- image = model.image;
|
|
|
|
|
|
+ image = model.previewImage;
|
|
} else if (self.resourceModel.movieArray.count > 0) {
|
|
} else if (self.resourceModel.movieArray.count > 0) {
|
|
LenzResourceItemModel *model = self.resourceModel.movieArray.lastObject;
|
|
LenzResourceItemModel *model = self.resourceModel.movieArray.lastObject;
|
|
- image = model.image;
|
|
|
|
|
|
+ image = model.previewImage;
|
|
} else if (self.resourceModel.continousArray.count > 0) {
|
|
} else if (self.resourceModel.continousArray.count > 0) {
|
|
LenzResourceItemModel *model = self.resourceModel.continousArray.lastObject;
|
|
LenzResourceItemModel *model = self.resourceModel.continousArray.lastObject;
|
|
- image = model.image;
|
|
|
|
|
|
+ image = model.previewImage;
|
|
} else if (self.resourceModel.aiPanoramArray.count > 0) {
|
|
} else if (self.resourceModel.aiPanoramArray.count > 0) {
|
|
LenzResourceItemModel *model = self.resourceModel.aiPanoramArray.lastObject;
|
|
LenzResourceItemModel *model = self.resourceModel.aiPanoramArray.lastObject;
|
|
- image = model.image;
|
|
|
|
|
|
+ image = model.previewImage;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -2716,20 +2721,20 @@
|
|
case SDK_CAPTURE_MODE_INTELLEGENCE_PANORAMA:{
|
|
case SDK_CAPTURE_MODE_INTELLEGENCE_PANORAMA:{
|
|
if (self.resourceModel.aiPanoramArray.count > 0) {
|
|
if (self.resourceModel.aiPanoramArray.count > 0) {
|
|
LenzResourceItemModel *model = self.resourceModel.aiPanoramArray.lastObject;
|
|
LenzResourceItemModel *model = self.resourceModel.aiPanoramArray.lastObject;
|
|
- image = model.image;
|
|
|
|
|
|
+ image = model.previewImage;
|
|
} else {
|
|
} else {
|
|
if (self.resourceModel.singleArray.count > 0) {
|
|
if (self.resourceModel.singleArray.count > 0) {
|
|
LenzResourceItemModel *model = self.resourceModel.singleArray.lastObject;
|
|
LenzResourceItemModel *model = self.resourceModel.singleArray.lastObject;
|
|
- image = model.image;
|
|
|
|
|
|
+ image = model.previewImage;
|
|
} else if (self.resourceModel.movieArray.count > 0) {
|
|
} else if (self.resourceModel.movieArray.count > 0) {
|
|
LenzResourceItemModel *model = self.resourceModel.movieArray.lastObject;
|
|
LenzResourceItemModel *model = self.resourceModel.movieArray.lastObject;
|
|
- image = model.image;
|
|
|
|
|
|
+ image = model.previewImage;
|
|
} else if (self.resourceModel.panoramArray.count > 0) {
|
|
} else if (self.resourceModel.panoramArray.count > 0) {
|
|
LenzResourceItemModel *model = self.resourceModel.panoramArray.lastObject;
|
|
LenzResourceItemModel *model = self.resourceModel.panoramArray.lastObject;
|
|
- image = model.image;
|
|
|
|
|
|
+ image = model.previewImage;
|
|
} else if (self.resourceModel.continousArray.count > 0) {
|
|
} else if (self.resourceModel.continousArray.count > 0) {
|
|
LenzResourceItemModel *model = self.resourceModel.continousArray.lastObject;
|
|
LenzResourceItemModel *model = self.resourceModel.continousArray.lastObject;
|
|
- image = model.image;
|
|
|
|
|
|
+ image = model.previewImage;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -2918,6 +2923,7 @@
|
|
|
|
|
|
self.isVideoStitchStopedWhenRecording = NO;
|
|
self.isVideoStitchStopedWhenRecording = NO;
|
|
UIImage *image = [LenStitcher getCurrentPanoramaShowImage];
|
|
UIImage *image = [LenStitcher getCurrentPanoramaShowImage];
|
|
|
|
+ UIImage *saveImage = [self rotateImageWith:image];
|
|
LenzResourceItemModel *model = nil;
|
|
LenzResourceItemModel *model = nil;
|
|
if (self.mode == SDK_CAPTURE_MODE_PANORAMA) {
|
|
if (self.mode == SDK_CAPTURE_MODE_PANORAMA) {
|
|
model = self.resourceModel.panoramArray.lastObject;
|
|
model = self.resourceModel.panoramArray.lastObject;
|
|
@@ -2943,7 +2949,8 @@
|
|
model.mode = self.mode;
|
|
model.mode = self.mode;
|
|
if ([LenStitcher getCurrentPanoramaShow]) {
|
|
if ([LenStitcher getCurrentPanoramaShow]) {
|
|
model.image = image;
|
|
model.image = image;
|
|
- NSString *path = [LenzDataManager saveImageWith:UIImageJPEGRepresentation(image, .8) mode:self.mode];
|
|
|
|
|
|
+ model.previewImage = saveImage;
|
|
|
|
+ NSString *path = [LenzDataManager saveImageWith:UIImageJPEGRepresentation(saveImage, .8) mode:self.mode];
|
|
model.path = path;
|
|
model.path = path;
|
|
}
|
|
}
|
|
[self updateViewStatusWhenStitchSave:NO];
|
|
[self updateViewStatusWhenStitchSave:NO];
|
|
@@ -2961,7 +2968,7 @@
|
|
}];
|
|
}];
|
|
|
|
|
|
if (needSave && keyFrame) {
|
|
if (needSave && keyFrame) {
|
|
- NSString *path = [LenzDataManager saveImageWith:UIImageJPEGRepresentation(image, .6) mode:self.mode];
|
|
|
|
|
|
+ NSString *path = [LenzDataManager saveImageWith:UIImageJPEGRepresentation(saveImage, .6) mode:self.mode];
|
|
if (path) {
|
|
if (path) {
|
|
[model.keyFrame addObject:path];
|
|
[model.keyFrame addObject:path];
|
|
}
|
|
}
|
|
@@ -2970,7 +2977,7 @@
|
|
[self.panoramaGuideView showImageWith:image];
|
|
[self.panoramaGuideView showImageWith:image];
|
|
} else {
|
|
} else {
|
|
self.ablumImageView.hidden = NO;
|
|
self.ablumImageView.hidden = NO;
|
|
- self.ablumImageView.image = image;
|
|
|
|
|
|
+ self.ablumImageView.image = saveImage;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
@@ -3072,6 +3079,10 @@
|
|
- (BOOL)shouldAutorotate {
|
|
- (BOOL)shouldAutorotate {
|
|
return NO;
|
|
return NO;
|
|
}
|
|
}
|
|
|
|
+- (UIInterfaceOrientationMask)supportedInterfaceOrientations {
|
|
|
|
+ return UIInterfaceOrientationMaskPortrait;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
|
|
- (UIImage *)videoFrameImageWith:(NSURL *)url {
|
|
- (UIImage *)videoFrameImageWith:(NSURL *)url {
|
|
AVURLAsset* asset = [[AVURLAsset alloc] initWithURL:url options:nil];
|
|
AVURLAsset* asset = [[AVURLAsset alloc] initWithURL:url options:nil];
|
|
@@ -3084,4 +3095,22 @@
|
|
return frameImage;
|
|
return frameImage;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+- (UIImage *)rotateImageWith:(UIImage *)image {
|
|
|
|
+ if (self.currentTgDirection == TgDirectionPortrait) {
|
|
|
|
+ return image;
|
|
|
|
+ } else if (self.currentTgDirection == TgDirectionLeft) {
|
|
|
|
+ return [image imageRotateWithIndegree:M_PI/2];
|
|
|
|
+ } else if (self.currentTgDirection == TgDirectionRight) {
|
|
|
|
+ return [image imageRotateWithIndegree:-M_PI/2];
|
|
|
|
+ } else if (self.currentTgDirection == TgDirectionDown) {
|
|
|
|
+ return [image imageRotateWithIndegree:M_PI];
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ return image;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+
|
|
@end
|
|
@end
|