Swift之合成图片

2018-04-02  本文已影响67人  凡尘一笑

先看效果图


Snip20180402_15.png

该效果还是比较常用在二维码的,比如中间就是你的头像,然后背景图就是二维码,另外二维码有自动推到信息功能,只要不遮挡三个角落的三个正方形就不影响二维码的信息
代码在此,建议写成一个分类,方便管理代码


/**
 合成图片
 
 :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!
}

写成分类
第一步:


Snip20180402_4.png
第二步: Snip20180402_5.png
第三步: Snip20180402_7.png
第四步: Snip20180402_8.png
上一篇 下一篇

猜你喜欢

热点阅读