1.iOS7以后错洁,開(kāi)始集成了二維碼的生成和讀取功能
2.生成二維碼的步驟:
導(dǎo)入CoreImage框架
通過(guò)濾鏡CIFilter生成二維碼
簡(jiǎn)單的代碼案例:
//創(chuàng)建過(guò)濾器
CIFilter *filter = [CIFilter filterWithName:@"CIQRCodeGenerator"];
//設(shè)置默認(rèn)
[filter setDefaults];
//給過(guò)濾器添加數(shù)據(jù)
NSString *dataString = @"鏈接......";
NSData *data = [dataString dataUsingEncoding:NSUTF8StringEncoding];
//3).通過(guò)KVO設(shè)置濾鏡inputMessage數(shù)據(jù)
[filter setValue:data forKey:@"inputMessage"];
//4).獲取輸出的二維碼
CIImage *outputImage = [filter outputImage];
//5).將CIImage轉(zhuǎn)化成UImage ,并放大顯示
self.iconImgView.image = [UIImage imageWithCIImage:outputImage scale:20.0 orientation:UIImageOrientationUp];
3.將CIImage轉(zhuǎn)化成UImage ,并放大顯示
// 創(chuàng)建放大的系數(shù)
CGAffineTransform tranform = CGAffineTransformMakeScale(10, 10);
// 根據(jù)放大系數(shù)放大的圖片
CIImage *scaleImage = [slCIImage imageByApplyingTransform:tranform];
UIImage *image = [UIImage imageWithCIImage:scaleImage];
4.將頭像畫(huà)到上下文中
//開(kāi)啟上下文
UIImage *drawImg = img;
UIGraphicsBeginImageContext(img.size);
//將圖片畫(huà)到上下文center
[img drawInRect:CGRectMake(0, 0, img.size.width, img.size.height)];
//獲取頭像,將圖片畫(huà)到上下文中
UIImage *iconImg = [UIImage imageNamed:iconString];
if (iconImg != nil) {
CGFloat width = 60;
CGFloat height = 60;
CGFloat originX ;
CGFloat originY ;
if (iconSize.width != 0 && iconSize.height != 0) {
width = iconSize.width;
height = iconSize.height;
}
originX = (img.size.width - width) * 0.5;
originY = (img.size.height - height) * 0.5;
[iconImg drawInRect:CGRectMake(originX, originY, width, height)];
//從上下文獲取合成的新圖片
drawImg = UIGraphicsGetImageFromCurrentImageContext();
}
UIGraphicsEndImageContext(); //關(guān)閉上下文