我的代码拍照。然后将其保存在其上应用的掩码效果。唯一的问题是,从我拍摄肖像照片的方式中,它被保存在-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