生成二维码与条形码

生成二维码与条形码

iOS8 生成二维码与条形码

iOS8 生成二维码与条形码-LMLPHP

效果图:

iOS8 生成二维码与条形码-LMLPHPiOS8 生成二维码与条形码-LMLPHP

源码:

//
// ViewController.m
// CodeCreator
//
// Created by YouXianMing on 15/3/16.
// Copyright (c) 2015年 YouXianMing. All rights reserved.
// #import "ViewController.h" @interface ViewController () @property (nonatomic, strong) UIImageView *imageView; @end @implementation ViewController - (void)viewDidLoad {
[super viewDidLoad]; self.imageView = [[UIImageView alloc] initWithFrame:CGRectMake(, , , )];
self.imageView.center = self.view.center;
[self.view addSubview:self.imageView]; [self generateCode];
} - (UIImage *)resizeImage:(UIImage *)image
withQuality:(CGInterpolationQuality)quality
rate:(CGFloat)rate {
UIImage *resized = nil;
CGFloat width = image.size.width * rate;
CGFloat height = image.size.height * rate; UIGraphicsBeginImageContext(CGSizeMake(width, height));
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetInterpolationQuality(context, quality);
[image drawInRect:CGRectMake(, , width, height)];
resized = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext(); return resized;
} - (void)generateCode { // @"CICode128BarcodeGenerator" 条形码
// @"CIAztecCodeGenerator" 二维码
NSString *filtername = @"CICode128BarcodeGenerator"; CIFilter *filter = [CIFilter filterWithName:filtername];
[filter setDefaults]; NSData *data = [@"YouXianMing" dataUsingEncoding:NSUTF8StringEncoding];
[filter setValue:data forKey:@"inputMessage"]; CIImage *outputImage = [filter outputImage];
CIContext *context = [CIContext contextWithOptions:nil];
CGImageRef cgImage = [context createCGImage:outputImage
fromRect:[outputImage extent]];
UIImage *image = [UIImage imageWithCGImage:cgImage
scale:.
orientation:UIImageOrientationUp]; // Resize without interpolating
CGFloat scaleRate = self.imageView.frame.size.width / image.size.width;
UIImage *resized = [self resizeImage:image
withQuality:kCGInterpolationNone
rate:scaleRate]; self.imageView.image = resized; CGImageRelease(cgImage);
} @end
05-08 15:36