根據(jù)鏈接生成二維碼

http://www.cnblogs.com/gchlcc/p/5585482.html

導(dǎo)入<CoreImage/CoreImage.h>

-(void)creatQRcode:(NSString *)url

{

// 1.創(chuàng)建過(guò)濾器 -- 蘋果沒有將這個(gè)字符封裝成常量

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

// 2.過(guò)濾器恢復(fù)默認(rèn)設(shè)置

[filter setDefaults];

// 3.給過(guò)濾器添加數(shù)據(jù)(正則表達(dá)式/帳號(hào)和密碼) -- 通過(guò)KVC設(shè)置過(guò)濾器,只能設(shè)置NSData類型

NSData *data = [url dataUsingEncoding:NSUTF8StringEncoding];

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

// 4.獲取輸出的二維碼

CIImage *outputImage = [filter outputImage];

//? ? self.tgImageView.image=[UIImage imageWithCIImage:outputImage];

UIImage *image=[self createNonInterpolatedUIImageFormCIImage:outputImage withSize:100];

self.tgImageView.image=image;

}

//處理二維碼

- (UIImage *)createNonInterpolatedUIImageFormCIImage:(CIImage *)image withSize:(CGFloat) size

{

CGRect extent = CGRectIntegral(image.extent);

CGFloat scale = MIN(size/CGRectGetWidth(extent), size/CGRectGetHeight(extent));

// 1.創(chuàng)建bitmap;

size_t width = CGRectGetWidth(extent) * scale;

size_t height = CGRectGetHeight(extent) * scale;

CGColorSpaceRef cs = CGColorSpaceCreateDeviceGray();

CGContextRef bitmapRef = CGBitmapContextCreate(nil, width, height, 8, 0, cs, (CGBitmapInfo)kCGImageAlphaNone);

CIContext *context = [CIContext contextWithOptions:nil];

CGImageRef bitmapImage = [context createCGImage:image fromRect:extent];

CGContextSetInterpolationQuality(bitmapRef, kCGInterpolationNone);

CGContextScaleCTM(bitmapRef, scale, scale);

CGContextDrawImage(bitmapRef, extent, bitmapImage);

// 2.保存bitmap到圖片

CGImageRef scaledImage = CGBitmapContextCreateImage(bitmapRef);

CGContextRelease(bitmapRef);

CGImageRelease(bitmapImage);

return [UIImage imageWithCGImage:scaledImage];

}

最后編輯于
?著作權(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)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

  • 首先先了解一下二維碼的容錯(cuò)(例如微信的二維碼中間附帶頭像圖片): 二維碼都有一定的糾錯(cuò),就是有部分污損或者破損都沒...
    零零貳叁閱讀 1,345評(píng)論 0 0
  • 自定義二維碼,就是指給系統(tǒng)二維碼添加一些圖片(前景或者背景圖片), 或者改變下顏色 自定義二維碼實(shí)質(zhì)是通過(guò)Quar...
    翻這個(gè)墻閱讀 2,403評(píng)論 0 0
  • Core Image是一個(gè)強(qiáng)大的框架,它能夠讓你輕松地對(duì)圖像進(jìn)行過(guò)濾。你能夠通過(guò)修改圖像的飽和度、色調(diào)或曝光率來(lái)獲...
    木易林1閱讀 1,209評(píng)論 0 1
  • 現(xiàn)在大多數(shù)的App都使用到二維碼,所以就需要我們?cè)贏pp開發(fā)的時(shí)候,加入這個(gè)功能。其實(shí)蘋果官方也提供了這樣的...
    七秒記憶的魚兒閱讀 2,043評(píng)論 2 6
  • UITableViewCell分割線的自定義一:將系統(tǒng)隱藏,自己自定義一條;二:在cell中重寫// 重寫底部分割...
    CALayer_Sai閱讀 238評(píng)論 0 0

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