我正在使用CIFilter提供的CIQRCodeGenerator过滤器生成QR码图像。图像生成良好,当它显示时,我可以使用AVCaptureSession读取图像。但是,当我尝试使用不同平台(Android,BlackBerry,iOS 6)扫描QR码时,则无法识别图像。根据Apple的文档,生成的图像符合ISO/IEC 18004:2006标准。是否需要符合ISO 18004:2000标准的问题?iOS生成的QR码未在其他平台上识别
这里是我使用来产生图像的代码:
NSData *stringData = [stringToEncode dataUsingEncoding:NSISOLatin1StringEncoding];
CIFilter *qrFilter = [CIFilter filterWithName:@"CIQRCodeGenerator"];
[qrFilter setValue:stringData forKey:@"inputMessage"];
[qrFilter setValue:@"M" forKey:@"inputCorrectionLevel"];
CIImage *qrImage = qrFilter.outputImage;
return [UIImage squareUIImageFromCIImage:qrImage withSize:size];
下面是一个简单QR码:
有谁知道是否有产生办法使用CIFilter更全球公认的QR码图像?我真的不想回去使用ZXing。
谢谢!
QR代码是QR代码...这是一个标准。 – ceejayoz 2014-10-02 20:29:29
@ceejayoz这是一个标准,但有不同的文件覆盖不同的实现。 ISO/IEC 18004:2000定义了QR码模型1和2.ISO/IEC 18004:2006定义了QR码2005符号,QR码模型2的扩展(取自http://en.wikipedia.org/wiki/QR_code) 。 – mcsheffrey 2014-10-02 20:41:38