swiftで画質を担保したままUIImageをリサイズ

粗い画像

UIImageを高画質のままリサイズするメソッド

extension UIImage{

    // 画質を担保したままResizeするクラスメソッド.
    func ResizeUIImage(width : CGFloat, height : CGFloat)-> UIImage!{

        let size = CGSize(width: width, height: height)

        UIGraphicsBeginImageContextWithOptions(size, false, 0.0)
        var context = UIGraphicsGetCurrentContext()

        self.drawInRect(CGRectMake(0, 0, size.width, size.height))
        var image = UIGraphicsGetImageFromCurrentImageContext()
        UIGraphicsEndImageContext()

        return image
    }

}

使い方


// 80x80にリサイズだけど画像も高画質のまま! let resizeSelectedImage = UIImage(named: "hoge.png")!.ResizeUIImage(80, height: 80)

綺麗な画像のままリサイズできました!