美文网首页
iOS-oc-二维码生成(带图片logo)

iOS-oc-二维码生成(带图片logo)

作者: lmao94 | 来源:发表于2022-05-09 09:03 被阅读0次
    - (void)createLogoImage {
        NSArray *filter = [CIFilter filterNamesInCategory:kCICategoryBuiltIn];
        NSLog(@"%@", filter);
        // 二维码过滤器
        CIFilter *filterImage = [CIFilter filterWithName:@"CIQRCodeGenerator"];
        // 将二位码过滤器设置为默认属性
        [filterImage setDefaults];
        // 将文字转化为二进制
        NSData *dataImage = [@"http://www.baidu.com" 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:@"taskAddImg"];
        [smallImage drawInRect:CGRectMake((image.size.width - 100) / 2, (image.size.width - 100) / 2, 100, 100)];
        // 获取最终的图片
        UIImage *finalImage = UIGraphicsGetImageFromCurrentImageContext();
        // 关闭上下文
        UIGraphicsEndImageContext();
        // 显示
        self.imageView.image = finalImage;
    }

    相关文章

      网友评论

          本文标题:iOS-oc-二维码生成(带图片logo)

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