UIImage
Swift
Swift3.0

【Swift】画像をリサイズする

画像をリサイズする

UIImageを指定した横幅に合わせてリサイズする方法を試してみた。

Extensions.swift
extension UIImage {
    func resized(toWidth width: CGFloat) -> UIImage? {
        let canvasSize = CGSize(width: width, height: CGFloat(ceil(width/size.width * size.height)))
        UIGraphicsBeginImageContextWithOptions(canvasSize, false, scale)
        defer { UIGraphicsEndImageContext() }
        draw(in: CGRect(origin: .zero, size: canvasSize))
        return UIGraphicsGetImageFromCurrentImageContext()
    }
}
//使用例
let image:UIImage = UIImage(named:"myImage")
let resizeImage = image.resized(toWidth: 300)