1. 程式人生 > >qrencode二維碼生成庫函式使用心得(一)(付測試原始碼)

qrencode二維碼生成庫函式使用心得(一)(付測試原始碼)

開發環境:

Linux平臺:虛擬機器下ubuntu 14.04

交叉編譯工具:gcc-4.4.3

arm開發板:mini2440

arm 核心版本:linux-3.4.99

最近公司的專案需要在展訊功能機平臺下實現字串生成二維碼功能,在網上搜了下,有個linux平臺下的開源QR碼C函式庫qrencode。於是在此原始碼上進行了一番嘗試移植。

下載qrencode-3.4.4.tar.gz原始碼,進入qrencode-3.4.4目錄,因為實際程式碼並不執行在linux環境下,故我並不按照./configuer ,make,make install ......等一系列命令去生成linux下需要的函式庫,標頭檔案等。

新建一個工程資料夾,把qrencode相關檔案拷貝到該資料夾下,嘗試編譯(對於makefile的編寫,不在這雷述了),最後發現基本所有的檔案都有依賴關係(並沒有深入去對原始碼進行裁剪),需要檔案見下圖:


其中main檔案是自己編寫的。

對於字串生成二維碼,其實最簡單的呼叫函式就是:

QRcode *qrcode;
qrcode = QRcode_encodeString("sissi", 2, QR_ECLEVEL_L, QR_MODE_8, 0);

對於函式引數的解釋和別的函式說明,可以參考QRencode,返回結構體中,qrcode->data包含了二維碼影象的資訊,其實資料的bit0代表了點的顏色,1表示黑色,0表示白色。

在level2中(第二個引數指定二維碼等級)生成的二維碼影象是25x25。寫一個測試程式串列埠列印:

for(i=0;i<25;i++)
{
	for(j=0;j<25;j++)
	{
		if(qrcode->data[i*25+j]&0x01)
		{
			printf("#");

		}
		else
		{
			printf("_");

		}
	}
	printf("\n");
}
printf("\n");
在開發板上執行發現:

此時已經能看出二維碼的大概影象了。

接著嘗試在LCD上顯示,對於lcd的顯示,這邊也不再介紹,無非就是最基本的描點,但要注意,如果只是按照原來一點一點的描的話,影象會太小掃不出來,可以先對影象進行放大再顯示:

從顯示的二維碼確實能掃出“sissi”字串。

自己建立的整個工程原始碼並不依賴什麼別的什麼特殊的函式庫,故應該能很容易移植到別的處理器上,並且不依賴linux系統。

相關推薦

qrencode生成函式使用心得測試原始碼

開發環境: Linux平臺:虛擬機器下ubuntu 14.04 交叉編譯工具:gcc-4.4.3 arm開發板:mini2440 arm 核心版本:linux-3.4.99 最近公司的專案需要在展訊功能機平臺下實現字串生成二維碼功能,在網上搜了下,有個linux平臺下的開

Javascript 生成:QRCode

ctype sca stat assets ret asset lang UNC .org <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xht

python生成(qrcode)簡介和例項

使用該庫時,需要安裝image庫,而image庫依賴於django、olefile、pillow庫。 使用pip安裝的命令如下: pip install qrcode pip install image安裝成功的圖示: 在命令列使用 在命令列使用語句: qr "som

開源zbar、zxing使用心得

首先說明我的測試場景是“識別列印在紙上的二維碼”,在掃描結果中尋找二維碼並進行識別,而不是直接讓攝像頭對著二維碼掃描。 zbar和zxing用的都是自己從github上clone的c++原始碼/介面編譯出來的dll,都是預設引數 再說結論:測了大概幾千張圖片,兩個庫的準確率差不多(由於圖片場景的多樣性,確切

iOS -- 生成使用cocoapods匯入libqrencode第三方

第一步: 使用cocoapods第三方庫管理工具匯入libqrencode第三方庫 注:libqrencode實際是UIImageView的分類 第二步: 建立一個QRCodeGenerator的類 .h檔案: #import <Founda

好玩的生成使用的C++開源Qrcode

玩了下的二維碼生成,找到一個Qrcode 的C++開源,然後順手生成了靜態庫,放在最後資源連結下。 二維碼怎麼生成的並不知曉,還好有大神寫好的了演算法,我只能講解如何使用: Qrcode只能生成矩陣陣列,需要我們自己生成bmp圖片,怎麼生成請看上一篇部落

python之生成

pre 生成 images alt make log pytho opened .com 生成的二維碼只是網址的鏈接 直接上代碼: 1 import qrcode 2 title = input("要生成的內容:") 3 img = qrcode.make(title)

解碼器Zbar+VS2010開發環境配置使用opencv

nbsp () imread cfg 如何配置 lib eight ann dev Zbar條碼解碼器是一個開源的二維碼(包括條形碼)解碼器,可以識別來至於視頻流,圖像文件、手持掃碼器和視頻設備(如攝像頭)等二維碼識別,支持EAN-13/UPC-A, UPC-E, EAN-

IOS 生成

alt width 指定 urn filter 網站 gre interface eas 這篇博客將會介紹二維碼的生成。 由於沒有什麽東西值得長篇大論的,所以這裏我就通過代碼的實現介紹二維碼。 第一部分 第一部分是二維碼的簡單生成沒有其他重點介紹。 效果圖 代碼部分

生成

table exce tof rate javase orm pre app light 項目中用到的,以免以後會再次遇到。 一。需要兩個jar包   zxing-javase.jar   zxing.jar 二。配置需要生成二維碼的參數 三。生成二維碼方法,方法返回值可改

Java生成與解碼工具Zxing使用

trace character sta 解碼 iter() font 生成 char type 1 package com.csii.zxing.test; 2 3 import java.awt.image.BufferedImage; 4 import j

jquery生成插件jquery.qrcode.js

qrc cti 條碼 客戶端 code www bsp 想要 如何使用 插件描述:jquery.qrcode.js 是一個能夠在客戶端生成矩陣二維碼QRCode 的jquery插件 ,使用它可以很方便的在頁面上生成二維條碼。 轉載於:http://www.jq22.com/

java微信小程序參數生成帶背景圖加字體(無限生成)

width sts addheader parent mob leo asics con system 需求 : 1,因為項目需求 ,生成數以萬計的二維碼       2 ,每個二維碼帶不同的參數    3,二維碼有固定背景圖

Java生成與解碼

添加 1.3 pin part 字符集 bit reader -- inpu 基於google zxing 的Java二維碼生成與解碼 一、添加Maven依賴(解碼時需要上傳二維碼圖片,所以需要依賴文件上傳包) <!-- google二維碼工具 --&g

在雲平臺上基於Go語言+Google圖表API提供生成應用

encode windows style 曾經 margin inf 64位操作系統 regular ipp 二維碼能夠說已經深深的融入了我們的生活其中。到處可見它的身影;但通常我們都是去掃二維碼,曾經我們分享給朋友一個網址直接把Url發過去,如今我們能夠把自己的信息

生成工具類

class qrc import date [] 二維碼 () exc stat 1 package com.ideal.common.util; 2 3 import java.awt.image.BufferedImage; 4 import java.io

模塊總結-生成模塊

-c play alt logs hid fit erro src version qrcode 模塊可以便捷地生成二維碼,只是生成的二維碼圖像大小無法編輯。 1 import qrcode 2 qr = qrcode.QRCode( 3 version=1,

生成並且下載{源}

sta har 生成 下載 content ict down script tex <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"&

Android生成

roi fse black ima deb ecif character put isp   最新在學習adnroid,遇到二維碼的生成與掃描在此做個整理   貼下二維碼生成的工具類      /**    * 二維碼生成工具類   */   public class

微信公眾平臺開發,模板消息,網頁授權,微信JS-SDK,生成4

支持 post 網頁 信息 行業 使用步驟 獲取 公眾 符號 微信公眾平臺開發,模板消息,什麽是模板消息,模板消息接口指的是向用戶發送重要的服務通知,只能用於符合場景的要求中去,如信用卡刷卡通知,購物成功通知等等。不支持廣告營銷,打擾用戶的消息,模板消息類有固定的模板,每個