Swift之合成图片
2018-04-02 本文已影响67人
凡尘一笑
先看效果图

该效果还是比较常用在二维码的,比如中间就是你的头像,然后背景图就是二维码,另外二维码有自动推到信息功能,只要不遮挡三个角落的三个正方形就不影响二维码的信息
代码在此,建议写成一个分类,方便管理代码
/**
合成图片
:param: bgImage 背景图片
:param: iconImage 头像
*/
private func creteImage(bgImage: UIImage, iconImage: UIImage) -> UIImage
{
// 1.开启图片上下文
UIGraphicsBeginImageContext(bgImage.size)
// 2.绘制背景图片
bgImage.draw(in: CGRect(origin: CGPoint.zero, size: bgImage.size))
// 3.绘制头像
let width:CGFloat = 50
let height:CGFloat = width
let x = (bgImage.size.width - width) * 0.5
let y = (bgImage.size.height - height) * 0.5
iconImage.draw(in: CGRect(x: x, y: y, width: width, height: height))
// 4.取出绘制号的图片
let newImage = UIGraphicsGetImageFromCurrentImageContext()
// 5.关闭上下文
UIGraphicsEndImageContext()
// 6.返回合成号的图片
return newImage!
}
写成分类
第一步:

第二步:

第三步:

第四步:
