生成二維碼- 原生二維碼

    生成二維碼庶喜,是指根據(jù)給定的信息,將其按照二維碼的編碼方式生成一張圖片
    原生二維碼:不對輸出的二維碼圖片進行任何加工處理兑障;
    自定義二維碼:對輸出的二維碼圖片進行加工

1. 二維碼生成方式

    > 從iOS7開始蘋果集成了二維碼的生成和讀取功能
    > 此前被廣泛使用的zbarsdk目前不支持64位處理器,2015年2月1號起, 蘋果不允許不支持64位處理器的APP上架

2. 生成系統(tǒng)二維碼 <- OC

  1. 導(dǎo)入CoreImage框架(可選)

    #import <CoreImage/CoreImage.h>
    
  2. 通過濾鏡CIFilter生成二維碼

    // 1. 實例化二維碼濾鏡
        CIFilter *filter = [CIFilter filterWithName:@"CIQRCodeGenerator"];
    
    // 2. 恢復(fù)濾鏡的默認(rèn)屬性
        [filter setDefaults];
    
    // 3. 將字符串轉(zhuǎn)換成NSData
        NSData *data = [@"IOS筆記" dataUsingEncoding:NSUTF8StringEncoding];
    
    // 4. 通過KVC設(shè)置濾鏡inputMessage數(shù)據(jù)
        [filter setValue:data forKey:@"inputMessage"];
    
    // 5. 獲得濾鏡輸出的圖像
        CIImage *outputImage = [filter outputImage];
    
    // 6. 將CIImage轉(zhuǎn)換成UIImage,并放大顯示
        return [UIImage imageWithCIImage:outputImage scale:20.0 orientation:UIImageOrientationUp];
    

3. 生成系統(tǒng)二維碼 <- swift

  1. 導(dǎo)入CoreImage框架

    import CoreImage
    
  2. 通過濾鏡CIFilter生成二維碼

    /** 友情提示: 學(xué)習(xí)實用技術(shù), 不要太在意語言, 把所有注意力, 放在步驟的實現(xiàn)上面 */
    
    class GeneratorVC: UIViewController {
    
        @IBOutlet weak var inputTV: UITextView!
        @IBOutlet weak var qrCodeImageView: UIImageView!
    
        override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
    
            // 生成二維碼
            // 1. 創(chuàng)建二維碼濾鏡
            let filter = CIFilter(name: "CIQRCodeGenerator")
    
            // 1.1 恢復(fù)濾鏡默認(rèn)設(shè)置
            filter?.setDefaults()
    
            // 2. 設(shè)置濾鏡的輸入內(nèi)容
            // 2.1 通過KVC 給里面一個inputMessage實例變量賦值
            // 輸入的內(nèi)容類型一定是NSData
            let content = inputTV.text
            let data = content.dataUsingEncoding(NSUTF8StringEncoding)
            filter?.setValue(data, forKey: "inputMessage")
    
            // 2.2 設(shè)置二維碼糾錯率(可選)
            // 糾錯率越高, 二維碼圖片,越復(fù)雜, 掃描識別的時間越長
            filter?.setValue("M", forKey: "inputCorrectionLevel")
    
            // 3. 從濾鏡里面取出結(jié)果圖片
            // 3.1 注意: 取出的圖片是ciimage, 并且大小是23* 23 所以需要我們單獨處理
            // (23.0, 23.0)
            guard let outImage = filter?.outputImage else {
                return
            }
    
            // 3.2 圖片處理
            // 使用這種方式, 可以把圖片放大處理, 而且保證不失真
            let transform = CGAffineTransformMakeScale(20, 20)
            let resultImage = outImage.imageByApplyingTransform(transform)
    
            // 3.3 把CIImage轉(zhuǎn)換成為UIImage
            let image = UIImage(CIImage: resultImage)
            print(image.size)
    
            // 4. 顯示結(jié)果
            qrCodeImageView.image = image
        }
    }
    
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末漱挚,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子绎谦,更是在濱河造成了極大的恐慌衅码,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,036評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件浪腐,死亡現(xiàn)場離奇詭異纵揍,居然都是意外死亡,警方通過查閱死者的電腦和手機议街,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,046評論 3 395
  • 文/潘曉璐 我一進店門泽谨,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事吧雹」窃樱” “怎么了?”我有些...
    開封第一講書人閱讀 164,411評論 0 354
  • 文/不壞的土叔 我叫張陵雄卷,是天一觀的道長搓蚪。 經(jīng)常有香客問我,道長丁鹉,這世上最難降的妖魔是什么妒潭? 我笑而不...
    開封第一講書人閱讀 58,622評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮揣钦,結(jié)果婚禮上雳灾,老公的妹妹穿的比我還像新娘。我一直安慰自己冯凹,他們只是感情好谎亩,可當(dāng)我...
    茶點故事閱讀 67,661評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著谈竿,像睡著了一般团驱。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上空凸,一...
    開封第一講書人閱讀 51,521評論 1 304
  • 那天嚎花,我揣著相機與錄音,去河邊找鬼呀洲。 笑死紊选,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的道逗。 我是一名探鬼主播兵罢,決...
    沈念sama閱讀 40,288評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼滓窍!你這毒婦竟也來了卖词?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,200評論 0 276
  • 序言:老撾萬榮一對情侶失蹤吏夯,失蹤者是張志新(化名)和其女友劉穎此蜈,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體噪生,經(jīng)...
    沈念sama閱讀 45,644評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡裆赵,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,837評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了跺嗽。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片战授。...
    茶點故事閱讀 39,953評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡页藻,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出植兰,到底是詐尸還是另有隱情份帐,我是刑警寧澤,帶...
    沈念sama閱讀 35,673評論 5 346
  • 正文 年R本政府宣布钉跷,位于F島的核電站弥鹦,受9級特大地震影響肚逸,放射性物質(zhì)發(fā)生泄漏爷辙。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,281評論 3 329
  • 文/蒙蒙 一朦促、第九天 我趴在偏房一處隱蔽的房頂上張望膝晾。 院中可真熱鬧,春花似錦务冕、人聲如沸血当。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,889評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽臊旭。三九已至,卻和暖如春箩退,著一層夾襖步出監(jiān)牢的瞬間离熏,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,011評論 1 269
  • 我被黑心中介騙來泰國打工戴涝, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留滋戳,地道東北人。 一個月前我還...
    沈念sama閱讀 48,119評論 3 370
  • 正文 我出身青樓啥刻,卻偏偏與公主長得像奸鸯,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子可帽,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,901評論 2 355

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

  • 一娄涩、掃描 1、 ZBar ZBar在掃描的靈敏度上映跟,和內(nèi)存的使用上相對于ZXing上都是較優(yōu)的蓄拣,但是對于 “圓角二...
    空白Null閱讀 1,059評論 0 2
  • 一.二維碼概述 1.二維碼的概念 二維碼, 是用某種特定的幾何圖形按一定規(guī)律在平面(二維方向上)分布的黑白相間的圖...
    Lucky丶晴閱讀 775評論 0 5
  • 自己的項目大多都是以O(shè)C寫的,隨著swift版本的更新和蘋果的力推,學(xué)習(xí)swift成為刻不容緩的事情,今天我們就聊...
    薄陽映初雪閱讀 3,043評論 2 1
  • 做為一名大三學(xué)生,我對于寫作是沒有什么多大的興趣申窘,老師說我們這專業(yè)不會寫作就失去了很重要的競爭力弯蚜,我想了想的確如此...
    陳胖子學(xué)長閱讀 145評論 0 0
  • Problem:如何在狀態(tài)低迷下重拾動力碎捺,能盡量積極地投入工作和生活,擺脫抑郁心情和一無是處的罪惡感? What ...
    Tiff_Q閱讀 377評論 0 0