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

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

導入<CoreImage/CoreImage.h>

-(void)creatQRcode:(NSString *)url

{

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

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

// 2.過濾器恢復默認設置

[filter setDefaults];

// 3.給過濾器添加數(shù)據(jù)(正則表達式/帳號和密碼) -- 通過KVC設置過濾器,只能設置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];

}

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

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

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

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