博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS:创建带logol的二维码
阅读量:7051 次
发布时间:2019-06-28

本文共 1931 字,大约阅读时间需要 6 分钟。

 
//二维码生成 实质:  把字符串转变为 图片// 需要 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(20, 20)];        //转成 UI的 类型    UIImage *qrUIImage = [UIImage imageWithCIImage:qrImage];            //----------------给 二维码 中间增加一个 自定义图片----------------    //开启绘图,获取图形上下文  (上下文的大小,就是二维码的大小)    UIGraphicsBeginImageContext(qrUIImage.size);        //把二维码图片画上去. (这里是以,图形上下文,左上角为 (0,0)点)    [qrUIImage drawInRect:CGRectMake(0, 0, qrUIImage.size.width, qrUIImage.size.height)];            //再把小图片画上去    UIImage *sImage = [UIImage imageNamed:logolImage];    CGFloat sImageW = 120;    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.cnblogs.com/XYQ-208910/p/7513768.html
,如需转载请自行联系原作者
你可能感兴趣的文章
AngularJS购物车
查看>>
四则运算 第二次
查看>>
SVN同步
查看>>
python转移符的使用
查看>>
淘宝笔试题,受限的降序打印
查看>>
插入排序与快排
查看>>
8.4(Java学习笔记)java脚本引擎(Rhino)
查看>>
qt终于安装成功
查看>>
通知栏添加手电筒 通知栏常驻 通知栏常在 锁屏黑屏界面手势绘图打开手电筒...
查看>>
TinyXML:一个优秀的C++ XML解析器(转载)
查看>>
字符串匹配算法之KMP&Boyer-Moore
查看>>
iOS WKWebView的使用
查看>>
开始记录 Windows Phone 生涯
查看>>
django中TypeError: __init__() missing 1 required positional argument: 'app_module'
查看>>
C#窗体之-->窗口外观属性...
查看>>
搜索框auto_complete
查看>>
Java之戳中痛点 - (6)避免类型自动转换,例如两个整数相除得浮点数遇坑
查看>>
安装 libmagic in Mac OS (for Python-magic)
查看>>
设置作者信息等设置
查看>>
【OpenGL学习】使用Shader做图像处理
查看>>