二维码系列(一)生成二维码

1、搭个界面


2、写代码

//
//  ViewController.swift
//  GeneratorQRCode
//
//  Created by targetcloud on 2016/12/3.
//  Copyright © 2016年 targetcloud. All rights reserved.
//

import UIKit

class ViewController: UIViewController {
    @IBOutlet weak var qrImg: UIImageView!
    @IBOutlet weak var qrContent: UITextView!

    @IBAction func generatorQRImg(_ sender: Any) {
        view.endEditing(true)
        let str = qrContent.text ?? ""
        
        let filter = CIFilter(name: "CIQRCodeGenerator")
        filter?.setDefaults()
        let data = str.data(using: String.Encoding.utf8)
        filter?.setValue(data, forKey: "inputMessage")
        filter?.setValue("M", forKey: "inputCorrectionLevel")
        var image = filter?.outputImage
        let transform = CGAffineTransform(scaleX: 10, y: 10)//处理成为一个高清图片
        image = image?.applying(transform)
        var resultImage = UIImage(ciImage: image!)
        
        let centerImg = UIImage(named: "targetcloud.png")
        resultImage = mergeImage(resultImage, centerImg: centerImg!, drawSize:CGSize(width: 80, height: 80))
        qrImg.image = resultImage
    }
    
    func mergeImage(_ sourceImage: UIImage, centerImg: UIImage,drawSize:CGSize) -> UIImage {
        let size = sourceImage.size
        UIGraphicsBeginImageContext(size)
        sourceImage.draw(in: CGRect(x: 0, y: 0, width: size.width, height: size.height))
        centerImg.draw(in: CGRect(x: (size.width - drawSize.width) * 0.5, y: (size.height - drawSize.height) * 0.5, width: drawSize.width, height: drawSize.height))
        let resultImage = UIGraphicsGetImageFromCurrentImageContext()
        UIGraphicsEndImageContext()
        return resultImage!
    }
}


3、运行效果






使用工具类生成二维码见二维码系列(4)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值