图片处理 之 裁剪

2019-10-08  本文已影响0人  小凡凡520
一、规则图片剪切
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
上一篇 下一篇

猜你喜欢

热点阅读