の品質:私はこの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)!
}
しかし、品質はちょうどひどいです....私が怒鳴る何を得るの相続人は絵:
私は、圧縮品質が何であったかで画像の質が変わったと思った...?上記のコードからわかるように0.5になりましたが、1に変更しても品質はまだひどいですか?
アイデア、
多くのありがとう。
0.5圧縮率は元のサイズに合わせて、ぼかし効果があるようですか? – zcui93
@ zcui93あなたが何を意味するのかわかりません –
あなたのコードはokと思われます。質問に同じイメージの元のバージョンと変更されたバージョンを追加できますか? – Avt