Swift - Firebase фото низкого разрешения, загруженное по URL - PullRequest
0 голосов
/ 21 сентября 2018

Я искал ответ на этот вопрос, но не нашел работающего.

В мое приложение можно войти через Google или Facebook.

В моем «Личном кабинете», Я отображаю изображение профиля, связанное с этой учетной записью.

@IBOutlet weak var PersonalImage: UIImageView!

Я использую эту функцию:

func loadProfilePicture()
{
    let currentUser = Auth.auth().currentUser
    PersonalImage.sd_setImage(with: currentUser?.photoURL, completed: nil) // Done using SDWebImage
}

Предыдущая итерация функции:

func loadProfilePicture()
    {
        let currentUser = Auth.auth().currentUser
        if let data = try? Data(contentsOf: (currentUser?.photoURL!)!)
        {
            PersonalImage.image = UIImage(data: data)
        }
    }

К сожалению,изображение, полученное с помощью Firebase photoURL, имеет низкое разрешение и размытое изображение, и я хотел бы, чтобы оно выглядело лучше.

Изображение:

enter image description here

1) Как я могу скачать изображение в высоком разрешении?2) Какая итерация рекомендуется?Обратите внимание, что в текущем (с использованием SDWebImage) загрузка изображения занимает некоторое время. 3) Какова наилучшая методика отображения индикации «Загрузка изображения»?

1 Ответ

0 голосов
/ 25 сентября 2018

Когда вы загружаете изображение в Firebase, вы будете использовать UIImageJPEGRepresentation или UIImagePNGRepresentation.Если вы используете UIImageJPEGRepresentation, вы сможете установить степень сжатия изображения следующим образом:

UIImageJPEGRepresentation(yourImage, 1.0) // Highest quality
UIImageJPEGRepresentation(yourImage, 0.1) // Really low quality
...