//
// ViewController.swift
// Swift-通过图形上下文实现图片缩放
//
// Created by 品德信息 on 2016/12/29.
// Copyright © 2016年 品德信息. All rights reserved.
//
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let image = UIImage(named:"startup")
let scaledImage = scaleImage12(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 scaleImage12(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 scaleFactor = (widthFactor<heightFactor) ? widthFactor :heightFactor
//计算图像新的宽高,并将新宽高构建成标准的CGSize对象
let scaleWith = width * scaleFactor
let scaleHeight = height * scaleFactor
let targetSize = CGSize(width:scaleWith,height:scaleHeight)
UIGraphicsBeginImageContext(targetSize)
image.draw(in: CGRect(x:0,y:0,width:scaleWith,height:scaleHeight))
//获取上下文内容,将内容写到新的图像对象中
let newImage = UIGraphicsGetImageFromCurrentImageContext()
return newImage!
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
swift-通过图形上下文实现图片缩放
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- Canvas图形绘制 <small>API参考</small> 开始创建路径ctx.beginPath(),通过此...
- 图片 涉及 CGImage的再探究,暂时使用 uiimage.CGImage; 文本 其他 注:PDF 绘制。。。...