91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

從相冊讀取本地保存的二維碼并跳轉h5鏈接

發布時間:2020-06-15 19:09:36 來源:網絡 閱讀:2137 作者:完美壞蛋911 欄目:移動開發

      因公司業務需求,在掃描二維碼基礎的前提下,也需要滿足用戶點擊相冊按妞,從相冊獲取本地保存二維碼實現簽到功能,在網上查閱相關資料后,整理了下,有以下幾種方式:

  1. ios8.0以后可以通過使用系統原生的框架實現該功能,即CIDetector,直接上代碼,但是通過驗證發現,大部分二維碼都能夠識別,但是對于通過拍照保存的二維碼,則出現很大概率無法識別,故此方法限制性比較大,不建議推薦使用,如想使用,可以直接照搬網上相關的代碼;

  2. 使用先階段比較流行的zxingObjC框架來掃描相冊的二維碼,但該框架不好用的一點就是對拍照的二維碼識別度不是很高,而且對于截圖保存的二維碼也有很強的限制;因該框架對只有在280X280狀態下識別度會增大很多,故需要對本地選擇的二維碼圖片進行壓縮

   NSInteger xx = ceil( img.size.width );

   if(xx > 280){

    img = [img TransformtoSize:CGSizeMake(280, 280)];

       }

     這樣壓縮之后識別度提升很多,但是還會出現部分二維碼無法識別的狀態,所以這樣處理還不夠,后經測試,發現把圖片壓縮成256像素左右,這樣基本上能夠保證保存在本地的二維碼圖片能夠進行識別,在此粘貼部分代碼,供大家參考借鑒:

UIImage* bigImage = img;

    float actualHeight = bigImage.size.height;

    float actualWidth = bigImage.size.width;

    float newWidth =0;

    float newHeight =0;

    if(actualWidth > actualHeight) {

        //寬圖

        newHeight =256.0f;

        newWidth = actualWidth / actualHeight * newHeight;

    }else{

        //長圖

        newWidth =256.0f;

        newHeight = actualHeight / actualWidth * newWidth;

    }

    CGRect rect =CGRectMake(0.0,0.0, newWidth, newHeight);

    UIGraphicsBeginImageContext(rect.size);

    [bigImage drawInRect:rect];// scales p_w_picpath to rect

    img =UIGraphicsGetImageFromCurrentImageContext();

    UIGraphicsEndImageContext();

把進行壓縮處理的圖片通過zxingObjC進行識別,就能獲取二維碼里的內容

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

苏尼特右旗| 甘泉县| 望城县| 栾川县| 桃园县| 栾城县| 鹤壁市| 肥东县| 克东县| 泽库县| 嘉鱼县| 垣曲县| 禹城市| 凌源市| 郁南县| 启东市| 浪卡子县| 齐齐哈尔市| 景谷| 武汉市| 合川市| 杭锦旗| 金门县| 金川县| 尼勒克县| 四平市| 灵璧县| 大悟县| 浮梁县| 海门市| 镇沅| 梁平县| 阳新县| 壶关县| 永宁县| 广汉市| 卢湾区| 津市市| 明星| 西华县| 甘德县|