美文网首页
生成动态二维码

生成动态二维码

作者: 初心_13bc | 来源:发表于2017-05-03 17:51 被阅读0次

生成动态二维码

因为最近遇到需要一个生成二维码的功能,于是我就接触了一下,现将我实现的步骤分享一下。

首先需要再网上下载一个生成二维码的三方库 qrencode ,点击二维码生成库下载。里面有提供生成二维码的API,返回 QRcode。

制作二维码的API

注:string:需要编码的字符串内容;version:版本(大小等级1~40);level:容错等级;hint:二维码模式。

实现代码:

新建一个 #import "UIImage+QRCodeGenerator.h";

在 .m 文件里实现

+(UIImage *)QRCodeGenerator:(NSString *)data andQuietZone (NSInteger)iQuietZone andSize:(NSInteger)iSize 

{

       UIImage *ret = nil;

       QRcode *qr = QRcode_encodeString([data      UIT8String]),0,QR_ECLEVEL_M,QR_MODE_8,1);

       NSInteger logQRSize = qr->width;

       NSInteger phyQRSize = logQRSize + (2 * iQuietZone);

       NSInteger scale    = iSize / phyQRSize;

       NSInteger imgSize  = phyQRSize * scale;

      if ( scale < 1 )

         scale = 1;

      {

             UIGraphicsBeginImageContext(CGSizeMake(imgSize,imgSize));

             CGContextRef ctx = UIGraphicsGetCurrentContext();

             CGRect bounds = CGRectMake(0,0,imgSize,imgSize);

             CGContextSetFillColorWithColor(ctx,[UIColor whiteColor].CGColor);

             CGContextFillRect(ctx,bounds);

            // set any 'dark' colour pixels     

           {         

                 int x,y;                 

                CGContextSetFillColorWithColor(ctx,[UIColor blackColor].CGColor);                 

               for ( y=0 ; ydata[(y*logQRSize)+x] & 1 )

              CGContextFillRect(ctx,CGRectMake((iQuietZone+x)*scale,     (iQuietZone+y)*scale,scale,scale));

           }

         // generate the UIImage

        CGImageRef imgRef = CGBitmapContextCreateImage(ctx);

        ret = [UIImage imageWithCGImage:imgRef];

       CGImageRelease(imgRef);

       UIGraphicsEndImageContext();

    }

QRcode_free(qr);

return ret;

   }

}

结果:

相关文章

  • 2020-04-12 python学习日志--二维码

    动态二维码的生成需借助python的myQR模块。该模块为自定义二维码的第三方库,由生成普通、带图片及动态二维码的...

  • Python_MyQR——二维码生成

    python库myqr生成二维码 python中有一个好玩的库,不仅可以生成各种花色的二维码,还可以生成动态二维码...

  • python库myqr生成二维码

    MyQR是一个能够生成自定义二维码的第三方库,可以根据需要生成普通二维码、带图片的艺术二维码,也可以生成动态二维码...

  • 动态二维码闸机

    动态二维码闸机主要是指利用二维码这种识别方式来通行的通道闸机 二维码生成途径:手机随机生成电子二维码、访客机随机生...

  • python二维码生成器

    https://github.com/sylnsfar/qrcode可以生成普通二维码,带图片的二维码,以及动态二...

  • python生成二维码

    python中有一个好玩的库,不仅可以生成各种花色的二维码,还可以生成动态二维码。 MyQR是一个能够生成自定义二...

  • Spring boot 生成动态验证码并前后端校验

    最近需要生成一个动态的验证码,在登录页面使用,并在前后端进行校验; 实现原理: 后端生成动态二维码,存储在 ses...

  • 生成动态二维码

    生成动态二维码 因为最近遇到需要一个生成二维码的功能,于是我就接触了一下,现将我实现的步骤分享一下。 首先需要再网...

  • golang如何生成与读取二维码

    golang如何生成与读取二维码 生成二维码 skip2/go-qrcode生成二维码 获取: 生成二维码图片: ...

  • 一键生成微信二维码

    引言 生成二维码的步骤导入CoreImage框架通过滤镜CIFilter生成二维码 生成普通的二维码 /** 生成...

网友评论

      本文标题:生成动态二维码

      本文链接:https://www.haomeiwen.com/subject/bwcltxtx.html