IOS 二維碼生成

#pragma mark -- 生成二維碼

+ (instancetype)creatImageWithQrCodeText:(NSString *)qrT WithCreatSize:(CGFloat)size{

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

? ? [filter setDefaults];

? ? NSData *filterData = [qrT dataUsingEncoding:NSUTF8StringEncoding];

? ? [filter setValue:filterData forKeyPath:@"inputMessage"];

? ? CIImage *outPutImage = [filter outputImage];

? ? return [self filterTheQrCode:outPutImage WithSize:size];

}

+ (UIImage *)filterTheQrCode:(CIImage *)ciImage WithSize:(CGFloat)size{

? ? CGRect extent = CGRectIntegral(ciImage.extent);//獲取圖片的規(guī)格

? ? CGFloat imageWidth = CGRectGetWidth(extent);

? ? CGFloat imageHeight = CGRectGetHeight(extent);

? ? CGFloat scale = MIN(size/imageWidth, size/imageHeight);//計算像素比例

? ? size_t width = imageWidth*scale;

? ? size_t height = imageHeight*scale;

? ? CGColorSpaceRef csr = CGColorSpaceCreateDeviceGray();//創(chuàng)建一個顏色空間

? ? CGContextRef bitMapRef = CGBitmapContextCreate(nil, width, height, 8, 0, csr, kCGImageAlphaNone);//繪制空間的規(guī)格

? ? CIContext *context = [CIContext contextWithOptions:nil];//獲取創(chuàng)建的顏色空間

? ? CGImageRef bitmapImage = [context createCGImage:ciImage fromRect:extent];//獲取要編輯的過濾圖

? ? CGContextSetInterpolationQuality(bitMapRef, kCGInterpolationNone);//連接顏色空間,CGInterpolationQuality表示插入的方式

? ? CGContextScaleCTM(bitMapRef, scale, scale);//更改過濾圖的坐標

? ? CGContextDrawImage(bitMapRef, extent, bitmapImage);//重新繪制過濾圖

? ? // 2.保存bitmap到圖片

? ? CGImageRef scaledImage = CGBitmapContextCreateImage(bitMapRef);//按照繪制空間的規(guī)格生成新圖片

? ? CGContextRelease(bitMapRef);

? ? CGImageRelease(bitmapImage);

? ? return [UIImage imageWithCGImage:scaledImage];

? }

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市床佳,隨后出現(xiàn)的幾起案子夕土,更是在濱河造成了極大的恐慌,老刑警劉巖角溃,帶你破解...
    沈念sama閱讀 219,539評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異赢笨,居然都是意外死亡,警方通過查閱死者的電腦和手機萧吠,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,594評論 3 396
  • 文/潘曉璐 我一進店門桐筏,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人狰腌,你說我怎么就攤上這事琼腔。” “怎么了丹莲?”我有些...
    開封第一講書人閱讀 165,871評論 0 356
  • 文/不壞的土叔 我叫張陵圾笨,是天一觀的道長逊谋。 經(jīng)常有香客問我,道長板鬓,這世上最難降的妖魔是什么俭令? 我笑而不...
    開封第一講書人閱讀 58,963評論 1 295
  • 正文 為了忘掉前任瓢湃,我火速辦了婚禮赫蛇,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘悟耘。我一直安慰自己落蝙,他們只是感情好,可當我...
    茶點故事閱讀 67,984評論 6 393
  • 文/花漫 我一把揭開白布暂幼。 她就那樣靜靜地躺著筏勒,像睡著了一般。 火紅的嫁衣襯著肌膚如雪旺嬉。 梳的紋絲不亂的頭發(fā)上管行,一...
    開封第一講書人閱讀 51,763評論 1 307
  • 那天,我揣著相機與錄音邪媳,去河邊找鬼病瞳。 笑死,一個胖子當著我的面吹牛悲酷,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播亲善,決...
    沈念sama閱讀 40,468評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼设易,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了蛹头?” 一聲冷哼從身側(cè)響起顿肺,我...
    開封第一講書人閱讀 39,357評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎渣蜗,沒想到半個月后屠尊,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,850評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡耕拷,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,002評論 3 338
  • 正文 我和宋清朗相戀三年讼昆,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片骚烧。...
    茶點故事閱讀 40,144評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡浸赫,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出赃绊,到底是詐尸還是另有隱情既峡,我是刑警寧澤,帶...
    沈念sama閱讀 35,823評論 5 346
  • 正文 年R本政府宣布碧查,位于F島的核電站运敢,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜传惠,卻給世界環(huán)境...
    茶點故事閱讀 41,483評論 3 331
  • 文/蒙蒙 一迄沫、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧涉枫,春花似錦邢滑、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,026評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至衬廷,卻和暖如春摇予,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背吗跋。 一陣腳步聲響...
    開封第一講書人閱讀 33,150評論 1 272
  • 我被黑心中介騙來泰國打工侧戴, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人跌宛。 一個月前我還...
    沈念sama閱讀 48,415評論 3 373
  • 正文 我出身青樓酗宋,卻偏偏與公主長得像,于是被迫代替她去往敵國和親疆拘。 傳聞我的和親對象是個殘疾皇子蜕猫,可洞房花燭夜當晚...
    茶點故事閱讀 45,092評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 二維碼生成步驟: 1.導入CoreImage框架 2.通過濾鏡CIFilter生成二維碼 示例代碼: 1.創(chuàng)建過濾...
    ssim閱讀 880評論 0 3
  • iOS7之后,可以使用原生的CIFilter創(chuàng)建二維碼哎迄。 一回右、生成二維碼 首先是二維碼的生成,使用CIFilter...
    _悟了個空閱讀 537評論 0 1
  • 自定義二維碼,就是指給系統(tǒng)二維碼添加一些圖片(前景或者背景圖片), 或者改變下顏色 自定義二維碼實質(zhì)是通過Quar...
    翻這個墻閱讀 2,067評論 0 0
  • 在如今的開發(fā)中經(jīng)常會遇到二維碼生成和二維碼讀取很是識別的需求網(wǎng)上也有一些封裝好的第三方的,但是樓主還是覺得自己寫一...
    進階的蚊子閱讀 2,091評論 0 2
  • 一漱挚、掃描 1翔烁、 ZBar ZBar在掃描的靈敏度上,和內(nèi)存的使用上相對于ZXing上都是較優(yōu)的旨涝,但是對于 “圓角二...
    空白Null閱讀 1,061評論 0 2