Fix Image Orientation
This commit is contained in:
committed by
William Casarin
parent
bfb47c0f85
commit
196cfdec4b
@@ -45,11 +45,13 @@ struct ImagePicker: UIViewControllerRepresentable {
|
|||||||
// Handle the selected image
|
// Handle the selected image
|
||||||
onImagePicked(imageURL)
|
onImagePicked(imageURL)
|
||||||
} else if let cameraImage = info[UIImagePickerController.InfoKey.originalImage] as? UIImage {
|
} else if let cameraImage = info[UIImagePickerController.InfoKey.originalImage] as? UIImage {
|
||||||
if let imageURL = saveImageToTemporaryFolder(image: cameraImage, imageType: "jpeg") {
|
let orientedImage = cameraImage.fixOrientation()
|
||||||
|
if let imageURL = saveImageToTemporaryFolder(image: orientedImage, imageType: "jpeg") {
|
||||||
onImagePicked(imageURL)
|
onImagePicked(imageURL)
|
||||||
}
|
}
|
||||||
} else if let editedImage = info[UIImagePickerController.InfoKey.editedImage] as? UIImage {
|
} else if let editedImage = info[UIImagePickerController.InfoKey.editedImage] as? UIImage {
|
||||||
if let editedImageURL = saveImageToTemporaryFolder(image: editedImage) {
|
let orientedImage = editedImage.fixOrientation()
|
||||||
|
if let editedImageURL = saveImageToTemporaryFolder(image: orientedImage, imageType: "jpeg") {
|
||||||
onImagePicked(editedImageURL)
|
onImagePicked(editedImageURL)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -118,3 +120,16 @@ struct ImagePicker: UIViewControllerRepresentable {
|
|||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
extension UIImage {
|
||||||
|
func fixOrientation() -> UIImage {
|
||||||
|
guard imageOrientation != .up else { return self }
|
||||||
|
|
||||||
|
UIGraphicsBeginImageContextWithOptions(size, false, scale)
|
||||||
|
draw(in: CGRect(origin: .zero, size: size))
|
||||||
|
let normalizedImage = UIGraphicsGetImageFromCurrentImageContext()
|
||||||
|
UIGraphicsEndImageContext()
|
||||||
|
|
||||||
|
return normalizedImage ?? self
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user