根据二维码图片路径生成二维码

-(UIImage*)scaleImage:(UIImage*)imagetoScale:(float)scaleSize

{

    UIGraphicsBeginImageContext(CGSizeMake(image.size.width*scaleSize,image.size.height*scaleSize));

    [imagedrawInRect:CGRectMake(0, 0, image.size.width* scaleSize, image.size.height*scaleSize)];

    UIImage *scaledImage = UIGraphicsGetImageFromCurrentImageContext();

    UIGraphicsEndImageContext();

    returnscaledImage;

}

#pragma mark - QRCodeGenerator

- (CIImage*)createQRForString:(NSString*)qrString {


    NSData *stringData = [qrString dataUsingEncoding:NSUTF8StringEncoding];


    CIFilter *qrFilter = [CIFilter filterWithName:@"CIQRCodeGenerator"];


    [qrFiltersetValue:stringDataforKey:@"inputMessage"];

    [qrFiltersetValue:@"M" forKey:@"inputCorrectionLevel"];

    returnqrFilter.outputImage;

}

/*  ============================================================  */

#pragma mark - InterpolatedUIImage

- (UIImage *)createNonInterpolatedUIImageFormCIImage:(CIImage *)image withSize:(CGFloat) size {

    CGRect extent = CGRectIntegral(image.extent);

    CGFloatscale =MIN(size/CGRectGetWidth(extent), size/CGRectGetHeight(extent));

    size_twidth =CGRectGetWidth(extent) * scale;

    size_theight =CGRectGetHeight(extent) * scale;

    CGColorSpaceRef cs = CGColorSpaceCreateDeviceGray();

    CGContextRef bitmapRef = CGBitmapContextCreate(nil, width, height, 8, 0, cs, (CGBitmapInfo)kCGImageAlphaNone);

    CIContext *context = [CIContext contextWithOptions:nil];

    CGImageRefbitmapImage = [contextcreateCGImage:imagefromRect:extent];

    CGContextSetInterpolationQuality(bitmapRef, kCGInterpolationNone);

    CGContextScaleCTM(bitmapRef, scale, scale);

    CGContextDrawImage(bitmapRef, extent, bitmapImage);


    CGImageRef scaledImage = CGBitmapContextCreateImage(bitmapRef);

    // Cleanup

    CGContextRelease(bitmapRef);

    CGImageRelease(bitmapImage);

    return [UIImage imageWithCGImage:scaledImage];

}

#pragma mark- 生成二维码的方法

- (void)QRCodeMethod:(NSString*)qrCodeString {

    UIImage *qrcodeImg = [self createNonInterpolatedUIImageFormCIImage:[self createQRForString:qrCodeString] withSize:250.0f];

    // ** 将生成的

    self.QRCodeIMG.image= qrcodeImg;

}

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容