首页 / 二维码 / 生成二维码 - swift
生成二维码 - swift
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了生成二维码 - swift,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1812字,纯文字阅读大概需要3分钟。
内容图文
首先 导入AVFoundation框架
@IBOutlet weak var iconView: UIImageView!
override func viewDidLoad() {
super.viewDidLoad()
createQRCode()
}
private func createQRCode() {
// 建立一个滤镜
let qrFilter = CIFilter(name: "CIQRCodeGenerator")
// 重设滤镜的初始值
qrFilter.setDefaults()
// 通过KVC设置滤镜的内容
qrFilter.setValue("逝水子峰".dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: true), forKey: "inputMessage")
// 输出图像
let ciImage = qrFilter.outputImage
// 打印生成图片的大小
println(ciImage.extent())
// 过滤图像单色彩以及 形变 的滤镜
let colorFilter = CIFilter(name: "CIFalseColor")
colorFilter.setDefaults()
colorFilter.setValue(ciImage, forKey: "inputImage")
// 前景色
colorFilter.setValue(CIColor(red: 0, green: 0, blue: 0), forKey: "inputColor0")
// 背景色
colorFilter.setValue(CIColor(red: 1, green: 1, blue: 1), forKey: "inputColor1")
let transform = CGAffineTransformMakeScale(5, 5)
let transformImage = colorFilter.outputImage.imageByApplyingTransform(transform)
let codeImage = UIImage(CIImage: transformImage)
let avatarImage = UIImage(named: "avatar")
println(codeImage)
println("----" + "\(avatarImage)")
// iconView.image = UIImage(CIImage: transformImage)
iconView.image = insertAvaterImage(codeImage!, avatarImage: avatarImage!)
}
/// 合成头像图像
private func insertAvaterImage(codeImage: UIImage,avatarImage: UIImage) -> UIImage {
let size = codeImage.size
// 1.开启图像上下文
UIGraphicsBeginImageContext(size)
// 2.绘制二维码图像
codeImage.drawInRect(CGRectMake(0, 0, size.width, size.height))
// 3.计算头像的大小
let w = size.width * 0.25
let h = size.height * 0.25
let x = (size.width - w) * 0.5
let y = (size.height - h) * 0.5
avatarImage.drawInRect(CGRectMake(x, y, w, h))
// 4.从上下文中取出图像
let image = UIGraphicsGetImageFromCurrentImageContext()
// 5.关闭上下文
UIGraphicsEndImageContext()
return image
}
原文:http://www.cnblogs.com/hongShuShu/p/4508901.html
内容总结
以上是互联网集市为您收集整理的生成二维码 - swift全部内容,希望文章能够帮你解决生成二维码 - swift所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。