您的位置:首页 > 移动开发 > IOS开发

iOS开发——生成条形码,二维码

2015-09-11 17:36 585 查看
- (void)viewDidLoad {

[super viewDidLoad];

self.imageView.image = [self generateBarCode:@"1524829417" width:60 height:60];

self.imageView2.image = [self generateQRCode:@"1524829417" width:60 height:60];

}

- (UIImage *)generateBarCode:(NSString *)code width:(CGFloat)width height:(CGFloat)height {

// 生成条形码图片

CIImage *barcodeImage;

NSData *data = [code dataUsingEncoding:NSISOLatin1StringEncoding allowLossyConversion:false];

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

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

barcodeImage = [filter outputImage];

// 消除模糊

CGFloat scaleX = width / barcodeImage.extent.size.width; // extent 返回图片的frame

CGFloat scaleY = height / barcodeImage.extent.size.height;

CIImage *transformedImage = [barcodeImage imageByApplyingTransform:CGAffineTransformScale(CGAffineTransformIdentity, scaleX, scaleY)];

return [UIImage imageWithCIImage:transformedImage];

}

- (UIImage *)generateQRCode:(NSString *)code width:(CGFloat)width height:(CGFloat)height {

// 生成二维码图片

CIImage *qrcodeImage;

NSData *data = [code dataUsingEncoding:NSISOLatin1StringEncoding allowLossyConversion:false];

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

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

[filter setValue:@"H" forKey:@"inputCorrectionLevel"];

qrcodeImage = [filter outputImage];

// 消除模糊

CGFloat scaleX = width / qrcodeImage.extent.size.width; // extent 返回图片的frame

CGFloat scaleY = height / qrcodeImage.extent.size.height;

CIImage *transformedImage = [qrcodeImage imageByApplyingTransform:CGAffineTransformScale(CGAffineTransformIdentity, scaleX, scaleY)];

return [UIImage imageWithCIImage:transformedImage];

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: