zoukankan      html  css  js  c++  java
  • 【swift】ios中生成二维码

    ios开发中可以自己代码生成二维码,需要使用到一个框架 CoreImage

    CoreImage框架可以做滤镜,Gif动图,二维码等

    先看效果图

    下面直接贴上代码(OC也是下面一样的流程)

     1 func createQRCode(){
     2     
     3         //建立一个滤镜
     4         let qrFilter = CIFilter(name: "CIQRCodeGenerator")
     5         //重设滤镜的初始值
     6         qrFilter.setDefaults()
     7         //通过KVC设置滤镜的内容(需要将字符串转为二进制数据)
     8         qrFilter.setValue("我是二维码".dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: true), forKey: "inputMessage")
     9         //输出图像(注意,此时生成的二维码尺寸为23*23左右,不清晰)
    10         let ciImage = qrFilter.outputImage
    11         
    12         
    13         //进一步处理,使用另外一个滤镜--单色,形变滤镜
    14         let colorFilter = CIFilter(name: "CIFalseColor")
    15         //重设滤镜的初始值
    16         colorFilter.setDefaults()
    17         //开始处理不清楚的图片
    18         colorFilter.setValue(ciImage, forKey: "inputImage")
    19         //设置前景色(注意只能用CIColor,使用UIColor会奔溃)
    20         colorFilter.setValue(CIColor(red: 0, green: 0, blue: 0), forKey: "inputColor0")
    21         //设置背景色
    22         colorFilter.setValue(CIColor(red: 1, green: 1, blue: 1), forKey: "inputColor1")
    23         //放大图片,放大五倍
    24         let transform = CGAffineTransformMakeScale(5, 5)
    25         //放大
    26         let transformIamge = colorFilter.outputImage.imageByApplyingTransform(transform)
    27         
    28         
    29         //用一个imageView接受图片试试效果哈(注意将CIImage转成UIImage)
    30         QRCodeView.image =  UIImage(CIImage: transformIamge)
    31 
    32     }

    执行这段代码的效果图就是上面展示的图片啦~

  • 相关阅读:
    关于ArcGIS Server VS2010无法显示发布的地图服务
    NDK,动态链接库,JNI
    android开发中一些报错的解决方法
    查询死锁对象
    pb导入excel文件
    n_cst_ping在powerbuilder 11 中的变化,一面的程序可正常ping
    SQL拼音
    数据库优化
    android调用asp.net webservice,返回json结构
    iframe内部需要弹出浮层问题
  • 原文地址:https://www.cnblogs.com/haojuncong/p/4507223.html
Copyright © 2011-2022 走看看