直接上代码了
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let image = UIImage(named: "image1")
let scaledImage = scaleImage(image: image!, newSize: CGSize(width: 180, height: 180))
let imageView = UIImageView(image: scaledImage)
imageView.center = CGPoint(x: 160, y: 160)
self.view.addSubview(imageView)
}
func scaleImage(image:UIImage , newSize:CGSize)->UIImage{
let imageSize = image.size
let width = imageSize.width
let height = imageSize.height
let widthFactor = newSize.width/width
let heightFactor = newSize.height/height
let scalerFactor = (widthFactor < heightFactor) ? widthFactor : heightFactor
let scaledWidth = width * scalerFactor
let scaledHeight = height * scalerFactor
let targetSize = CGSize(width: scaledWidth, height: scaledHeight)
UIGraphicsBeginImageContext(targetSize)
image.draw(in: CGRect(x: 0, y: 0, width: scaledWidth, height: scaledHeight))
let newImage = UIGraphicsGetImageFromCurrentImageContext()
return newImage!
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
}