瀏覽代碼

剩余5个bug没有解决

南鑫林 5 年之前
父節點
當前提交
929adeb9ad

+ 2 - 2
RainbowPlanet/RainbowPlanet/Manager/AliyunVodManager/AliyunVodUpToyoPublishManager/AliyunVodupToyoPublishManager.swift

@@ -153,7 +153,8 @@ extension AliyunVodUpToyoPublishManager {
         if !(aliyunVodUpToYoPublishModel?.images?.isEmpty ?? true) {
         if !(aliyunVodUpToYoPublishModel?.images?.isEmpty ?? true) {
             var imageUrlPaths = Array<String>()
             var imageUrlPaths = Array<String>()
             for image in (aliyunVodUpToYoPublishModel?.images)! {
             for image in (aliyunVodUpToYoPublishModel?.images)! {
-
+                //旋转修正
+                let image = image.rotate(aImage: image)
                 let imagePath: String = (PathManager.tmpPath() ?? "") + (PathManager.randomString() ?? "")
                 let imagePath: String = (PathManager.tmpPath() ?? "") + (PathManager.randomString() ?? "")
                 let imgData: Data? = UIImage.pngData(image)()
                 let imgData: Data? = UIImage.pngData(image)()
                 do {
                 do {
@@ -200,7 +201,6 @@ extension AliyunVodUpToyoPublishManager {
             self.destroy()
             self.destroy()
             SwiftProgressHUD.shared().showText("图片路径存储错误,请重新上传")
             SwiftProgressHUD.shared().showText("图片路径存储错误,请重新上传")
         }
         }
-       
     }
     }
     
     
     
     

+ 0 - 20
RainbowPlanet/RainbowPlanet/Modules/PublishModule/PublishEdit/Controller/PublishEditController.swift

@@ -305,26 +305,6 @@ extension PublishEditController {
 
 
     }
     }
     
     
-    // 写入沙盒并设置沙盒路径
-    func writePhotosToFileAndSetPath() {
-        self.imageAssetUrl = []
-        
-        for image in self.imageArr! {
-            let taskPath: String = (AliyunPathManager.compositionRootDir()?.appending(AliyunPathManager.randomString()))!
-            let imagePath: String = taskPath.appending(".png")
-            let imgData: Data? = UIImage.pngData(image)()
-            do {
-                try imgData?.write(to: URL(fileURLWithPath: imagePath))
-            }
-            catch {
-                print("存入失败")
-            }
-            self.imageAssetUrl.append(imagePath)
-        }
-        
-//        PublishUploadManager.shared().setImagesPath(self.imageArr!, self.imageAssetUrl)
-    }
-    
     // 改变发布按钮颜色
     // 改变发布按钮颜色
     func checkPublishButtonStatus() {
     func checkPublishButtonStatus() {
         if pubContent.count == 0 || selTopicIdArr.count == 0 {
         if pubContent.count == 0 || selTopicIdArr.count == 0 {

+ 23 - 17
RainbowPlanet/RainbowPlanet/Modules/PublishModule/PublishTakePhoto/PublishConfirmPhotoController.swift

@@ -27,8 +27,13 @@ class PublishConfirmPhotoController: BaseViewController {
         setupLayouts()
         setupLayouts()
     }
     }
     
     
+    override var shouldAutorotate: Bool {
+        return false
+    }
+    
     override func setupViews() {
     override func setupViews() {
         navigationBar.isHidden = true
         navigationBar.isHidden = true
+        self.view.backgroundColor = UIColor.black
         
         
         view.addSubview(photoImageView)
         view.addSubview(photoImageView)
         view.addSubview(retakeBtn)
         view.addSubview(retakeBtn)
@@ -55,6 +60,7 @@ class PublishConfirmPhotoController: BaseViewController {
     
     
     private lazy var photoImageView: UIImageView = {
     private lazy var photoImageView: UIImageView = {
         let photoImageView = UIImageView()
         let photoImageView = UIImageView()
+        photoImageView.contentMode = .scaleAspectFit
         return photoImageView
         return photoImageView
     }()
     }()
     
     
@@ -75,24 +81,24 @@ class PublishConfirmPhotoController: BaseViewController {
         usePhotoBtn.setTitleColor(kffffffColor, for: .normal)
         usePhotoBtn.setTitleColor(kffffffColor, for: .normal)
         usePhotoBtn.titleLabel?.font = kMediumFont15
         usePhotoBtn.titleLabel?.font = kMediumFont15
         usePhotoBtn.rx.tap.subscribe(onNext: { [weak self] (data) in
         usePhotoBtn.rx.tap.subscribe(onNext: { [weak self] (data) in
-        PHPhotoLibrary.shared().performChanges({
-            
-        }, completionHandler: { (success, error) in
-                // 写入相册成功后,回到主线程进行流程
-                DispatchQueue.main.async {
-                    if success != true{
-                        SwiftProgressHUD.shared().showText("保存失败")
-                        return
-                    }
-                    
-                    // 保存成功,跳转至发布
-                    self?.dismiss(animated: false, completion: nil)
-                    let imageArr: Array<UIImage> = [self!.photoImg!]
-                    if let pubImgClosure = self?.pubImgClosure {
-                        pubImgClosure(imageArr)
+            PHPhotoLibrary.shared().performChanges({
+                
+            }, completionHandler: { [weak self] (success, error) in
+                    // 写入相册成功后,回到主线程进行流程
+                    DispatchQueue.main.async {
+                         [weak self] in
+                        if success != true{
+                            SwiftProgressHUD.shared().showText("保存失败")
+                            return
+                        }
+                        // 保存成功,跳转至发布
+                        self?.dismiss(animated: false, completion: nil)
+                        let imageArr: Array<UIImage> = [(self?.photoImg)!]
+                        if let pubImgClosure = self?.pubImgClosure {
+                            pubImgClosure(imageArr)
+                        }
                     }
                     }
-                }
-        })
+            })
             
             
         }).disposed(by: disposeBag)
         }).disposed(by: disposeBag)
         return usePhotoBtn
         return usePhotoBtn

+ 6 - 1
RainbowPlanet/RainbowPlanet/Modules/PublishModule/PublishTakePhoto/PublishTakePhotoController.swift

@@ -27,6 +27,10 @@ class PublishTakePhotoController: BaseViewController {
     
     
     var curFlashType : FlashType! = .close
     var curFlashType : FlashType! = .close
     
     
+    override var shouldAutorotate: Bool {
+        return false
+    }
+    
     override func viewDidLoad() {
     override func viewDidLoad() {
         super.viewDidLoad()
         super.viewDidLoad()
         setupViews()
         setupViews()
@@ -80,8 +84,9 @@ class PublishTakePhotoController: BaseViewController {
     }
     }
     
     
     private lazy var recorder: AliyunIRecorder = {
     private lazy var recorder: AliyunIRecorder = {
-        let recorder = AliyunIRecorder.init(delegate: self as? AliyunIRecorderDelegate, videoSize: CGSize(width: 720, height: 1280))
+        let recorder = AliyunIRecorder.init(delegate: self as? AliyunIRecorderDelegate, videoSize: CGSize(width: kScreenWidth, height: kScreenHeight))
         recorder?.beautifyStatus = true
         recorder?.beautifyStatus = true
+        recorder?.beautifyValue = 50
         recorder?.preview = self.view;
         recorder?.preview = self.view;
         return recorder!
         return recorder!
     }()
     }()

+ 55 - 0
RainbowPlanet/RainbowPlanet/Tools/Extension/Extension+UIImage.swift

@@ -239,3 +239,58 @@ extension UIImage {
         return image!
         return image!
     }
     }
 }
 }
+
+
+extension UIImage {
+    func rotate(aImage:UIImage) -> UIImage {
+        // 向上 直接返回
+        if aImage.imageOrientation == .up {
+            return aImage
+        }
+        
+        // 向下M_PI 向左M_PI_2 向右-M_PI_2
+        var transform: CGAffineTransform = CGAffineTransform.identity
+        switch aImage.imageOrientation {
+        case .down, .downMirrored:
+            transform = transform.translatedBy(x: aImage.size.width, y: aImage.size.height)
+            transform = transform.rotated(by: CGFloat(Double.pi))
+        case .left, .leftMirrored:
+            transform = transform.translatedBy(x: aImage.size.width, y: 0)
+            transform = transform.rotated(by: CGFloat(Double.pi / 2))
+        case .right, .rightMirrored:
+            transform = transform.translatedBy(x: 0, y: aImage.size.height)
+            transform = transform.rotated(by: CGFloat(-Double.pi / 2))
+        default:
+            break
+        }
+        
+        switch aImage.imageOrientation {
+        case .upMirrored, .downMirrored:
+            transform = transform.translatedBy(x: aImage.size.width, y: 0)
+            transform = transform.scaledBy(x: -1, y: 1)
+        case .leftMirrored, .rightMirrored:
+            transform = transform.translatedBy(x: aImage.size.height, y: 0)
+            transform = transform.scaledBy(x: -1, y: 1)
+        default:
+            break
+        }
+        
+        //渲染
+        
+        let ctx: CGContext = CGContext(data: nil, width: Int(aImage.size.width), height: Int(aImage.size.height), bitsPerComponent: aImage.cgImage!.bitsPerComponent, bytesPerRow: 0, space: aImage.cgImage!.colorSpace!, bitmapInfo: aImage.cgImage!.bitmapInfo.rawValue)!
+        ctx.concatenate(transform)
+        switch aImage.imageOrientation {
+        case .left, .leftMirrored, .right, .rightMirrored:
+            
+            ctx.draw(aImage.cgImage!, in: CGRect(x: 0, y: 0, width: aImage.size.height, height: aImage.size.width))
+        default:
+            ctx.draw(aImage.cgImage!, in: CGRect(x: 0, y: 0, width: aImage.size.width, height: aImage.size.height))
+        }
+        
+        // 新的图片
+        let cgimg: CGImage = ctx.makeImage()!
+        let img: UIImage = UIImage(cgImage: cgimg)
+        return img
+    }
+}
+