有圖片的二維碼生成

NSArray *filters = [CIFilter filterNamesInCategory:kCICategoryBuiltIn];

NSLog(@"%@",filters);

//二維碼過(guò)濾器

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

//設(shè)置過(guò)濾器默認(rèn)屬性

[qrImageFilter setDefaults];

//將字符串轉(zhuǎn)換成 NSdata (雖然二維碼本質(zhì)上是 字符串,但是這里需要轉(zhuǎn)換,不轉(zhuǎn)換就崩潰)

NSData *qrImageData = [@"看看這是什么,shenm" dataUsingEncoding:NSUTF8StringEncoding];

//我們可以打印,看過(guò)濾器的 輸入屬性.這樣我們才知道給誰(shuí)賦值

NSLog(@"%@",qrImageFilter.inputKeys);

/*

inputMessage,? ? ? ? //二維碼輸入信息

inputCorrectionLevel //二維碼錯(cuò)誤的等級(jí),就是容錯(cuò)率

*/

//設(shè)置過(guò)濾器的輸入值? ,KVC賦值

[qrImageFilter setValue:qrImageData forKey:@"inputMessage"];

//取出圖片

CIImage *qrImage = [qrImageFilter outputImage];

//但是圖片 發(fā)現(xiàn)有的小 (27,27),我們需要放大..我們進(jìn)去CIImage 內(nèi)部看屬性

qrImage = [qrImage imageByApplyingTransform:CGAffineTransformMakeScale(10, 10)];

//轉(zhuǎn)成 UI的 類(lèi)型

UIImage *qrUIImage = [UIImage imageWithCIImage:qrImage];

//----------------給 二維碼 中間增加一個(gè) 自定義圖片----------------

//開(kāi)啟繪圖,獲取圖形上下文? (上下文的大小,就是二維碼的大小)

UIGraphicsBeginImageContext(qrUIImage.size);

//把二維碼圖片畫(huà)上去. (這里是以,圖形上下文,左上角為 (0,0)點(diǎn))

[qrUIImage drawInRect:CGRectMake(0, 0, qrUIImage.size.width, qrUIImage.size.height)];

//再把小圖片畫(huà)上去

UIImage *sImage = [UIImage imageNamed:@"麥稻首頁(yè)4"];

//

//? ? UIImageView *sImageView = [[UIImageView alloc]initWithFrame:CGRectMake(50, 50, 60, 60)];

//? ? [self.view addSubview:sImageView];

//? ? sImageView.image = sImage;

//? ? // 類(lèi)似于clip,使用masksToBounds陰影效果無(wú)效

//? ? sImageView.layer.masksToBounds = YES;

//? ? //圖層的圓角半徑

//? ? sImageView.layer.cornerRadius = 50;

CGFloat sImageW = 100;

CGFloat sImageH= sImageW;

CGFloat sImageX = (qrUIImage.size.width - sImageW) * 0.5;

CGFloat sImgaeY = (qrUIImage.size.height - sImageH) * 0.5;

[sImage drawInRect:CGRectMake(sImageX, sImgaeY, sImageW, sImageH)];

//獲取當(dāng)前畫(huà)得的這張圖片

UIImage *finalyImage = UIGraphicsGetImageFromCurrentImageContext();

//關(guān)閉圖形上下文

UIGraphicsEndImageContext();

//設(shè)置圖片

self.erweimaImageView.image = finalyImage;

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀(guān)點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容