Сжатие изображения без изменения разрешения изображения в Swift

Я пытаюсь сжать изображение, используя следующий метод

jpegData(качество сжатия:)

В этом случае изображение было сжато, но изменилось и разрешение изображения. Но я на самом деле хочу, чтобы только изображение сжималось без изменения разрешения. Пожалуйста, предложите возможные решения.


person Gaurav Nigam    schedule 10.12.2018    source источник
comment
Если вам нужно сжатие, вам придется забыть о разрешении. Без снижения разрешения вы не можете сжать.   -  person nayem    schedule 10.12.2018
comment
Вы выяснили причину и решение? Столкнувшись с той же проблемой, что jpegData(compressionQuality:), кажется, применяет масштаб экрана к разрешению   -  person hyouuu    schedule 06.02.2020


Ответы (1)


extension UIImage {

    public func base64(format: ImageFormat) -> String? {
        var imageData: Data?
        switch format {
        case .png: imageData = UIImagePNGRepresentation(self)
        case .jpeg(let compression): imageData = UIImageJPEGRepresentation(self, compression)
        }
        return imageData?.base64EncodedString()
    }
}

используйте это расширение для сжатия изображения, я использую это расширение уже давно, попробуйте, если оно не влияет на разрешение.

person akshay somkuwar    schedule 10.12.2018
comment
Зачем кому-то возвращать строку с объектом изображения? - person El Tomato; 10.12.2018
comment
я использую это, чтобы сжать изображение и отправить его на сервер, я не знал, что вы хотите сжать изображение и использовать его в приложении. - person akshay somkuwar; 13.12.2018