一、规则图片剪切
let size = CGSize(width: 100, height: 100)
// 开启上下文
UIGraphicsBeginImageContext(size)
// 获取当前的上下文
let context = UIGraphicsGetCurrentContext()
let rect = CGRect(x: 0, y: 0, width: size.width, height: size.height)
// 设置路径剪切(设置一个圆)
context?.addEllipse(in: rect)
context?.clip()
// 把图片绘制上去
originImgView.image?.draw(in: rect)
let clipImage = UIGraphicsGetImageFromCurrentImageContext()
// 关闭上下文
UIGraphicsEndImageContext()
resultImgView.image = clipImage
二、不规则图片剪切
let size = CGSize(width: 200, height: 200)
// 开启上下文
UIGraphicsBeginImageContext(size)
// 获取当前的上下文
let context = UIGraphicsGetCurrentContext()
let lines = [
CGPoint(x: 50, y: 0),
CGPoint(x: 100 , y: 0),
CGPoint(x: 150 , y: 80),
CGPoint(x: 0 , y: 80),
CGPoint(x: 50 , y: 0)
]
let path = CGMutablePath()
path.addLines(between: lines)
context?.addPath(path)
context?.clip()
originImgView.image?.draw(in: CGRect(x: 0, y: 0, width: 200, height: 200))
let clipImage = UIGraphicsGetImageFromCurrentImageContext()
// 关闭上下文
UIGraphicsEndImageContext()
resultImgView.image = clipImage
网友评论