ios开发中可以自己代码生成二维码,需要使用到一个框架 CoreImage
CoreImage框架可以做滤镜,Gif动图,二维码等
先看效果图
下面直接贴上代码(OC也是下面一样的流程)
func createQRCode(){ //建立一个滤镜
let qrFilter = CIFilter(name: "CIQRCodeGenerator")
//重设滤镜的初始值
qrFilter.setDefaults()
//通过KVC设置滤镜的内容(需要将字符串转为二进制数据)
qrFilter.setValue("我是二维码".dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: true), forKey: "inputMessage")
//输出图像(注意,此时生成的二维码尺寸为23*23左右,不清晰)
let ciImage = qrFilter.outputImage //进一步处理,使用另外一个滤镜--单色,形变滤镜
let colorFilter = CIFilter(name: "CIFalseColor")
//重设滤镜的初始值
colorFilter.setDefaults()
//开始处理不清楚的图片
colorFilter.setValue(ciImage, forKey: "inputImage")
//设置前景色(注意只能用CIColor,使用UIColor会奔溃)
colorFilter.setValue(CIColor(red: , green: , blue: ), forKey: "inputColor0")
//设置背景色
colorFilter.setValue(CIColor(red: , green: , blue: ), forKey: "inputColor1")
//放大图片,放大五倍
let transform = CGAffineTransformMakeScale(, )
//放大
let transformIamge = colorFilter.outputImage.imageByApplyingTransform(transform) //用一个imageView接受图片试试效果哈(注意将CIImage转成UIImage)
QRCodeView.image = UIImage(CIImage: transformIamge) }
执行这段代码的效果图就是上面展示的图片啦~