将图片缩放到指定比例
func test1() {
//将图片缩放到指定比例
let image = UIImage(named: "Pic4")
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 oldWidth = imageSize.width
let oldHight = imageSize.height
//计算出比例
let widthFactor = newSize.width/oldWidth
let hightFactor = newSize.height/oldHight
//获取最小比
let scaleFactor = (widthFactor>hightFactor) ? hightFactor : widthFactor
//计算出新的尺寸
let width = scaleFactor * oldWidth
let height = scaleFactor * oldHight
//常见一个新的显示区域
let targetSize = CGSize(width: width, height: height)
//创建绘图上下文环境
UIGraphicsBeginImageContext(targetSize)
//将图像对象 画入之前计算的新尺寸里
image.draw(in: CGRect(x: 0, y: 0, width: width, height: height))
//获取上下文里的内容,将内容写入新的图像对象
let newImage = UIGraphicsGetImageFromCurrentImageContext();
return newImage!
}