//二维码生成 实质:  把字符串转变为 图片
// 需要 coreImage框架, 已经包含在了 UIKit框架里面
//MARK: 二维码中间内置图片,可以是公司logo
+ (UIImage *)logolOrQRImage:(NSString *)QRTargetString logolImage:(NSString *)logolImage{ //滤镜数组
NSArray *filters = [CIFilter filterNamesInCategory:kCICategoryBuiltIn];
NSLog(@"%@",filters); //二维码过滤器
CIFilter *qrImageFilter = [CIFilter filterWithName:@"CIQRCodeGenerator"]; //设置过滤器默认属性
[qrImageFilter setDefaults]; //将字符串转换成 NSdata (虽然二维码本质上是 字符串,但是这里需要转换,不转换就崩溃)
//字符串可以随意换成网址等
NSData *qrImageData = [QRTargetString dataUsingEncoding:NSUTF8StringEncoding]; //我们可以打印,看过滤器的 输入属性.这样我们才知道给谁赋值
NSLog(@"%@",qrImageFilter.inputKeys); //设置过滤器的 输入值 ,KVC赋值
[qrImageFilter setValue:qrImageData forKey:@"inputMessage"]; //取出图片
CIImage *qrImage = [qrImageFilter outputImage]; //但是图片 发现有的小 (27,27),我们需要放大..我们进去CIImage 内部看属性
qrImage = [qrImage imageByApplyingTransform:CGAffineTransformMakeScale(, )]; //转成 UI的 类型
UIImage *qrUIImage = [UIImage imageWithCIImage:qrImage]; //----------------给 二维码 中间增加一个 自定义图片----------------
//开启绘图,获取图形上下文 (上下文的大小,就是二维码的大小)
UIGraphicsBeginImageContext(qrUIImage.size); //把二维码图片画上去. (这里是以,图形上下文,左上角为 (0,0)点)
[qrUIImage drawInRect:CGRectMake(, , qrUIImage.size.width, qrUIImage.size.height)]; //再把小图片画上去
UIImage *sImage = [UIImage imageNamed:logolImage];
CGFloat sImageW = ;
CGFloat sImageH = sImageW;
CGFloat sImageX = (qrUIImage.size.width - sImageW) * 0.5;
CGFloat sImgaeY = (qrUIImage.size.height - sImageH) * 0.5; [sImage drawInRect:CGRectMake(sImageX, sImgaeY, sImageW, sImageH)]; //获取当前画得的这张图片
UIImage *finalyImage = UIGraphicsGetImageFromCurrentImageContext(); //关闭图形上下文
UIGraphicsEndImageContext(); //设置图片
return finalyImage;
}
 

链接:http://www.jianshu.com/p/74e617e4fa28
來源:简书

iOS:创建带logol的二维码的更多相关文章

  1. php创建带logo的二维码

    <?php /** php使用二维码 **/ class MyQrcode{ const SIZE = 150; const LEVEL = "L"; const MARGI ...

  2. iOS自带API集成二维码、条形码扫描

    源码于 :https://github.com/wangjinfeng/ScanForiOSAPI/tree/main 1.AVFoundation.framework,QuartzCore.fram ...

  3. jQuery-qrcode.js 生成带Logo 的二维码

    引入文件  jQuery-qrcode.js 地址:https://blog-static.cnblogs.com/files/kitty-blog/jquery-qrcode.js https:// ...

  4. C#生成带logo的二维码

    带logo的二维码生成分为两步骤:首先根据输入的内容生成二维码图片,然后读取本地的logo图片,通过图片处理生成带logo的二维码. 生成的二维码效果如下: 下面直接贴出二维码生成类   QRCode ...

  5. 制作、解析带logo的二维码

    用DecoderQRCode来解析带logo的二维码,发现报错,解析不了,于是便又查资料,找到了更强大的制作二维码 工具:GooleZXing 首先下GooleZXing的jar包. -------- ...

  6. Force.com微信开发系列(八)生成带参数的二维码

    为了满足用户渠道推广分析的需要,公众平台提供了生成带二维码的接口.使用该接口可以获得多个带不同场景值的二维码,用户扫描后,公众号可以接收到事件推送.目前有两种类型的二维码,分别是临时二维码和永久二维码 ...

  7. C# ZXing.Net生成二维码、识别二维码、生成带Logo的二维码(二)

    1.使用ZXint.Net生成带logo的二维码 /// <summary> /// 生成带Logo的二维码 /// </summary> /// <param name ...

  8. 建议收藏备用:.net core使用QRCoder生成普通二维码和带Logo的二维码详细使用教程,源码已更新至开源模板

    随着互联网越来越生活化,二维码的使用越来越普遍,不论是扫码支付还是扫码关注引流,似乎我们总是离不开二维码,那么很多需要推广的文章或社区想要自己的二维码,那么你是不是需要在网站直接提供给用户呢?很多开发 ...

  9. 利用phpqrcode二维码生成类库合成带logo的二维码并且用合成的二维码生成海报(二)

    前期准备 引入phpqrcode类库(下载地址:https://download.csdn.net/download/weixin_37557729/11891240:支持彩色二维码的下载地址:htt ...

随机推荐

  1. Mysql Lock wait timeout exceeded; try restarting transaction的问题

    今天在后台跑任务的时候,发现了数据库报错1205 - Lock wait timeout exceeded; try restarting transaction.问题原因是因为表的事务锁,以下是解决 ...

  2. Go语言笔记:struct结构遍历

    package main import ( "fmt" "reflect" ) type User struct { Id int Name string // ...

  3. csdn 音乐 怎么拦截 提交后的程序 csdn 栏目 音乐 csdn 添加 音乐

    韩梦飞沙  韩亚飞  313134555@qq.com  yue31313  han_meng_fei_sha csdn 栏目 音乐 csdn 添加 音乐 ======= <embed src= ...

  4. luogu P1401 城市

    题目链接 luogu P1401 城市 题解 二分最小边权,dinic检验 代码 // luogu-judger-enable-o2 /* 二分最小边权,dinic检验 */ #include< ...

  5. 【BZOJ-4212】神牛的养成计划 Trie树 + 可持久化Trie树

    4212: 神牛的养成计划 Time Limit: 10 Sec  Memory Limit: 512 MBSubmit: 136  Solved: 27[Submit][Status][Discus ...

  6. 20172319 实验四 《Android程序设计》实验报告

    20172319 2018.05.17-30 实验四<Android程序设计> 实验报告 课程名称:<程序设计与数据结构> 学生班级:1723班 学生姓名:唐才铭 学生学号:2 ...

  7. Spring使用注解方式注入多例的方式

    目前Spring+Netty的开发方式这么火热,想把Netty注册成Spring组件就一定得用多例的方式,我不由得想吐槽明明这么常见的需求网上相关博客都少的很,这里给出Spring使用注解注入多例的方 ...

  8. rsync使用ssh指定端口

    增加以下参数: -e 'ssh -p 2222'

  9. 让IIS支持10万并发

    适用的IIS版本:IIS 7.0, IIS 7.5, IIS 8.0 适用的Windows版本:Windows Server 2008, Windows Server 2008 R2, Windows ...

  10. linux 内核开发环境搭建

    http://blog.csdn.net/jemmy858585/article/details/46710299