Я изменение размеров различных изображений с этой FUNC:Качество UIImage
func resizeImage(image: UIImage) -> UIImage {
var actualHeight: CGFloat = image.size.height
var actualWidth: CGFloat = image.size.width
let maxHeight: CGFloat = 600.0
let maxWidth: CGFloat = text.frame.size.width - 10
var imgRatio: CGFloat = actualWidth/actualHeight
let maxRatio: CGFloat = maxWidth/maxHeight
let compressionQuality: CGFloat = 0.5
//50 percent compression
if actualHeight > maxHeight || actualWidth > maxWidth {
if imgRatio < maxRatio {
//adjust width according to maxHeight
imgRatio = maxHeight/actualHeight
actualWidth = imgRatio * actualWidth
actualHeight = maxHeight
}
else if imgRatio > maxRatio {
//adjust height according to maxWidth
imgRatio = maxWidth/actualWidth
actualHeight = imgRatio * actualHeight
actualWidth = maxWidth
}
else {
actualHeight = maxHeight
actualWidth = maxWidth
}
}
let rect: CGRect = CGRectMake(0.0, 0.0, actualWidth, actualHeight)
UIGraphicsBeginImageContext(rect.size)
image.drawInRect(rect)
let img: UIImage = UIGraphicsGetImageFromCurrentImageContext()
let imageData: NSData = UIImageJPEGRepresentation(img, compressionQuality)!
UIGraphicsEndImageContext()
return UIImage(data: imageData)!
}
Но качество просто ужасно .... Heres картина того, что я получаю ниже:
Я думал, что качество изображения зависит от того, какова была степень сжатия ...? У меня это сейчас на 0,5, как вы можете видеть из моего кода выше, но даже если я его перейду на 1, качество все равно ужасно?
Любые идеи,
Большое спасибо.
0,5 степень сжатия, которая должна быть в оригинальном размере, кажется, является размытым эффектом? – zcui93
@ zcui93 не уверен я понимаю, что вы имеете в виду –
Ваш код выглядит нормально. Не могли бы вы добавить оригинальные и измененные версии одного и того же изображения на вопрос? – Avt