zoukankan      html  css  js  c++  java
  • iOSS--生成有logo的二维码

    - (void)viewDidLoad {
        [super viewDidLoad];
        // Do any additional setup after loading the view, typically from a nib.
        self.imageview = [[UIImageView alloc] initWithFrame:CGRectMake(0, 50, 400, 400)];
        [self.view addSubview:_imageview];
        [self createLogoImage];
    }
    
    - (void)createLogoImage {
        NSArray *filter = [CIFilter filterNamesInCategory:kCICategoryBuiltIn];
        NSLog(@"%@", filter);
        // 二维码过滤器
        CIFilter *filterImage = [CIFilter filterWithName:@"CIQRCodeGenerator"];
        // 将二位码过滤器设置为默认属性
        [filterImage setDefaults];
        // 将文字转化为二进制
        NSData *dataImage = [@"mafeng" dataUsingEncoding:NSUTF8StringEncoding];
        // 打印输入的属性
        NSLog(@"%@", filterImage.inputKeys);
        // KVC 赋值
        [filterImage setValue:dataImage forKey:@"inputMessage"];
        // 取出输出图片
        CIImage *outputImage = [filterImage outputImage];
        outputImage = [outputImage imageByApplyingTransform:CGAffineTransformMakeScale(20, 20)];
        // 转化图片
        UIImage *image = [UIImage imageWithCIImage:outputImage];
        
        // **********为二维码加自定义图片***********
        
        // 开启绘图, 获取图片 上下文<图片大小>
        UIGraphicsBeginImageContext(image.size);
        // 将二维码图片画上去
        [image drawInRect:CGRectMake(0, 0, image.size.width, image.size.height)];
        // 将小图片画上去
        UIImage *smallImage = [UIImage imageNamed:@"123.jpg"];
        [smallImage drawInRect:CGRectMake((image.size.width - 100) / 2, (image.size.width - 100) / 2, 100, 100)];
        // 获取最终的图片
        UIImage *finalImage = UIGraphicsGetImageFromCurrentImageContext();
        // 关闭上下文
        UIGraphicsEndImageContext();
        // 显示
        self.imageview.image = finalImage;
    }

    效果展示:

  • 相关阅读:
    34组合总和(39)
    33 原子的数量(726)
    32 划分为k个相等的子集(698)
    31有效的井字游戏(794)
    30 设置交集大小至少为2
    28拼接最大数(321)
    js for循环闭包解决循环变量i遍历值
    js 绑定无响应 父元素监听,绑定子元素,事件绑定的几种方法以及区别
    如何让div+css兼容ie6 ie7 ie8 ie9和FireFox Chrome等浏览器
    css实现左侧固定宽,右侧自适应
  • 原文地址:https://www.cnblogs.com/mafeng/p/5864696.html
Copyright © 2011-2022 走看看