В моем проекте у меня есть UIButton & UIImageView. Когда кнопка нажата, она представляет UIImagePickerController. Вот так выглядит мой код и пользовательский интерфейс.
class RegisterViewController: UIViewController {
@IBOutlet weak var profileImageView: UIImageView!
@IBAction func changeImageProfileButtonPressed() {
let picker = UIImagePickerController()
picker.sourceType = .photoLibrary
picker.allowsEditing = true
picker.delegate = self
present(picker, animated: true, completion: nil)
}
}
extension RegisterViewController: UIImagePickerControllerDelegate, UINavigationControllerDelegate {
func imagePickerControllerDidCancel(_ picker: UIImagePickerController) {
dismiss(animated: true, completion: nil)
}
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) {
guard let image = info[.originalImage] as? UIImage else { return }
guard let editedImage = info[.editedImage] as? UIImage else { return }
print("Original Image Size: ", image.size)
print("Edited Image Size: ", editedImage.size)
profileImageView.image = editedImage
dismiss(animated: true, completion: nil)
}
}
Вот здесь и начинается моя проблема. Размер отредактированного изображения намного меньше исходного размера, когда я выбираю изображение из средства выбора изображений. Вот что печатает консоль: Размер исходного изображения: (960.0, 1200.0) Размер отредактированного изображения: (321.0, 321.0). Теперь я установил profileImageView.image = editedImage, и это выглядит хорошо. Однако позже я хотел бы сохранить изображение из profileImageView в Firebase. Я уверен, что когда я сохраню изображение, оно будет 321x321 вместо 960x1200. Поэтому, когда я получаю изображение из FireBase и отображаю его на большом экране, оно будет выглядеть размытым. Я могу просто сохранить исходное изображение размером 960x1200, но при получении изображения оно не будет выглядеть как отредактированное изображение.
Итак, как мне сохранить исходное изображение и затем отобразить его в profileImageView, чтобы оно выглядело как отредактированное изображение?