• 根据字符串链接生成二维码


    #pragma mark - InterpolatedUIImage=因为生成的二维码是一个CIImage,我们直接转换成UIImage的话大小不好控制,所以使用下面方法返回需要大小的UIImage
    
    - (UIImage *)createNonInterpolatedUIImageFormCIImage:(CIImage *)image withSize:(CGFloat) size {
    
        CGRect extent = CGRectIntegral(image.extent);
    
        CGFloat scale = MIN(size/CGRectGetWidth(extent), size/CGRectGetHeight(extent));
    
        size_t width = CGRectGetWidth(extent) * scale;
    
        size_t height = CGRectGetHeight(extent) * scale;
    
        CGColorSpaceRef cs = CGColorSpaceCreateDeviceGray();
    
        CGContextRef bitmapRef = CGBitmapContextCreate(nil, width, height, 8, 0, cs, (CGBitmapInfo)kCGImageAlphaNone);
    
     
    
        CIContext *context = [CIContext contextWithOptions:nil];
    
        CGImageRef bitmapImage = [context createCGImage:image fromRect:extent];
    
        CGContextSetInterpolationQuality(bitmapRef, kCGInterpolationNone);
    
        CGContextScaleCTM(bitmapRef, scale, scale);
    
        CGContextDrawImage(bitmapRef, extent, bitmapImage);
    
        CGImageRef scaledImage = CGBitmapContextCreateImage(bitmapRef);
    
        CGContextRelease(bitmapRef);
    
        CGImageRelease(bitmapImage);
    
        return [UIImage imageWithCGImage:scaledImage];
    
    }
    #pragma mark - QRCodeGenerator--首先是二维码的生成,使用CIFilter很简单,直接传入生成二维码的字符串即可
    
     
    
    - (CIImage *)createQRForString:(NSString *)qrString {
    
        NSData *stringData = [qrString dataUsingEncoding:NSUTF8StringEncoding];
    
        CIFilter *qrFilter = [CIFilter filterWithName:@"CIQRCodeGenerator"];
    
        [qrFilter setValue:stringData forKey:@"inputMessage"];
    
        [qrFilter setValue:@"M" forKey:@"inputCorrectionLevel"];
    
        return qrFilter.outputImage;
    
    }

    调用:

     UIImage *boundImg = [self createNonInterpolatedUIImageFormCIImage:[self createQRForString:@"http://baidu.com"] withSize:250.0f];

           

  • 相关阅读:
    vs 加入插件
    vs用法
    axios和vue用$refs属性获取dom
    错误演示
    vue表单的用法

    工作
    工作日报
    主机与虚拟机链接
    login
  • 原文地址:https://www.cnblogs.com/fengmin/p/5548415.html
Copyright © 2020-2023  润新知