欢迎来到代码驿站!

iOS代码

当前位置:首页 > 移动开发 > iOS代码

IOS Swift 开发QRCore(二维码)实例详解

时间:2021-03-03 10:10:51|栏目:iOS代码|点击:

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、运行效果



感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

上一篇:Xcode 8打印log日志的问题小结及解决方法

栏    目:iOS代码

下一篇:xcode8 关闭控制台不打印不信息的解决方法(图文详解)

本文标题:IOS Swift 开发QRCore(二维码)实例详解

本文地址:http://www.codeinn.net/misctech/73724.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有