面膜效果正在旋转照片



我的代码拍照。然后将其保存在其上应用的掩码效果。唯一的问题是,从我拍摄肖像照片的方式中,它被保存在-90中。我要做的就是在肖像画中拍照,并保存照片,并删除了应用于它的旋转。

[应用掩模时保存的图片] [2]

[mask] [3]

  func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {
    let red = info[UIImagePickerControllerOriginalImage] as! UIImage
             self.dismiss(animated: true)
//Sugguested Code
    red.imageOrientation = UIDevice.current.orientation.imageOrientation
//

    self.currentImageView?.image = red
    let image = photo.image
       let maskingImage = UIImage(named: "mask")
    photo.image = maskImage(image: image!, mask: maskingImage!)
    photo.autoresizingMask = [.flexibleWidth, .flexibleHeight, .flexibleBottomMargin, .flexibleRightMargin, .flexibleLeftMargin, .flexibleTopMargin]
    photo.contentMode = .scaleAspectFit
    photo.clipsToBounds = true
  }

创建uiimage时,您需要确保给他们正确的方向。这将从手机中获得方向并将其应用于图像

extension UIDeviceOrientation {
    public var imageOrientation: UIImageOrientation? {
        switch self {
        case .portrait: return .right
        case .portraitUpsideDown: return .left
        case .landscapeLeft: return .up
        case .landscapeRight: return .down
        default: return nil
        }
    }
}
image.imageOrientation = UIDevice.current.orientation.imageOrientation

最新更新