生成的二维码很小,需要放大成高清图
//字符串转二维码
- (NSImage *)stringTransformToQRCodeWithSize:(CGSize)size
{
NSData *stringData = [self dataUsingEncoding:NSUTF8StringEncoding];
//生产原始二维码图片
CIFilter *qrFilter = [CIFilter filterWithName:@"CIQRCodeGenerator"];
[qrFilter setValue:stringData forKey:@"inputMessage"];
[qrFilter setValue:@"L" forKey:@"inputCorrectionLevel"];
//生成高清大图
CIImage *originImage = qrFilter.outputImage;
CIImage *bigImage = [originImage imageByApplyingTransform:CGAffineTransformMakeScale(size.width/originImage.extent.size.width, size.height/originImage.extent.size.height)];
CGImageRef sourceImageRef = [[CIContext context] createCGImage:bigImage fromRect:bigImage.extent];
NSImage *sourceImage = [[NSImage alloc] initWithCGImage:sourceImageRef size:size];
return sourceImage;
}