天天看點

iOS 根據url生成高清二維碼

生成高清二維碼:

   self.CodeImageView = [UIImageView new];

    [scannWhiteView addSubview:self.CodeImageView];

    [self.CodeImageView mas_makeConstraints:^(MASConstraintMaker *make) {

        make.top.equalTo(bgView.mas_bottom).offset(10);

        make.bottom.equalTo(scannWhiteView).offset (-40);

        make.left.equalTo(scannWhiteView).offset (42);

        make.right.equalTo(scannWhiteView).offset (-42);

    }];

    //生成二維碼

    // 1. 建立一個二維碼濾鏡執行個體(CIFilter)

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

    // 濾鏡恢複預設設定

    [filter setDefaults];

    // 2. 給濾鏡添加資料

    NSString *string = self.codeUrl;  //加入二維碼url

    NSData *data = [string dataUsingEncoding:NSUTF8StringEncoding];

    [filter setValue:data forKeyPath:@"inputMessage"];

    // 3. 生成高清二維碼

    CIImage *image = [filter outputImage];

    CGAffineTransform transform = CGAffineTransformMakeScale(5.0f, 5.0f);

    CIImage *output = [image imageByApplyingTransform: transform];

    UIImage *newImage = [UIImage imageWithCIImage:output scale:[UIScreen mainScreen].scale orientation:UIImageOrientationUp];

    // 4. 顯示二維碼

    self.CodeImageView.image = newImage;

繼續閱讀