最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#使用zxing/zbar/thoughtworkQRcode解析二維碼的示例代碼

 更新時間:2023年07月24日 09:37:30   作者:產(chǎn)卵的魚  
zxing是谷歌開源的二維碼庫,zbar,thoughtworkQRcode也是開源的,三者之間比較各有優(yōu)劣,本文將通過一個案例demo源碼,帶來認識學習下這三者的實際解碼效果,感興趣的可以了解一下

最近做項目需要解析二維碼圖片,找了一大圈,發(fā)現(xiàn)沒有人去整理下開源的幾個庫案例,花了點時間

做了zxing,zbar和thoughtworkqrcode解析二維碼案例,希望大家有幫助。

zxing是谷歌開源的二維碼庫,zbar,thoughtworkQRcode也是開源的,三者之間比較各有優(yōu)劣

下面通過一個案例demo源碼,來認識學習下這三者的實際解碼效果,

第一次上傳demo源碼,獻丑了

zbar解析關鍵代碼:

Image primaryImage = Image.FromFile(fileName);
Bitmap pImg = MakeGrayscale3((Bitmap)primaryImage);
using (ZBar.ImageScanner scanner = new ZBar.ImageScanner())
{
    List<ZBar.Symbol> symbols = new List<ZBar.Symbol>();
    System.Diagnostics.Stopwatch watch = new Stopwatch();
    watch.Start();
    symbols = scanner.Scan((Image)pImg);
    watch.Stop();
    TimeSpan timeSpan = watch.Elapsed;
    MessageBox.Show("掃描執(zhí)行時間:" + timeSpan.TotalMilliseconds.ToString());
    if (symbols != null && symbols.Count > 0)
    {
        string result = string.Empty;
        symbols.ForEach(s => result += "條碼內(nèi)容:" + s.Data + " 條碼質(zhì)量:" + s.Type + Environment.NewLine);
        MessageBox.Show(result);
    }
}

zxing解析關鍵代碼:

Image primaryImage = Image.FromFile(fileName);
Bitmap pImg = MakeGrayscale3((Bitmap)primaryImage);
BarcodeReader reader = new BarcodeReader();
System.Diagnostics.Stopwatch watch = new Stopwatch();
watch.Start();
Result result = reader.Decode((Bitmap)pImg); //通過reader解碼
watch.Stop();
TimeSpan timeSpan = watch.Elapsed;
MessageBox.Show("二維碼值:"+result+"掃描執(zhí)行時間:" + timeSpan.TotalMilliseconds.ToString());

thoughtworkqrcode解析關鍵代碼:

Image primaryImage = Image.FromFile(fileName);
Bitmap pImg = (Bitmap)primaryImage;// MakeGrayscale3((Bitmap)primaryImage);
try
{
    System.Diagnostics.Stopwatch watch = new Stopwatch();
    watch.Start();
    string decodedString = new QRCodeDecoder().decode(new QRCodeBitmapImage(pImg), Encoding.UTF8);
    watch.Stop();
    TimeSpan timeSpan = watch.Elapsed;
    MessageBox.Show("二維碼值:" + decodedString + "掃描執(zhí)行時間:" + timeSpan.TotalMilliseconds.ToString());
}
catch (Exception ex)
{
    MessageBox.Show("好難過");
}

下面來測試下三者之間的給力程度吧,在草料二維碼網(wǎng)頁上在線生成一個二維碼

為了測試給力程度,我們截出如下圖片,三者對比解碼:

下面來看下效果吧:

zbar效果

zxing效果

thoughtworqrcode效果

從解碼的效率上來看zbar》zxing》thoughtworkqrcode

從穩(wěn)定性來看zbar是最差的,zbar這個開源項目已經(jīng)很久沒再維護更新了,所以這也是跟不上時代的一個原因,但是效率確實比較高。

到此這篇關于C#使用zxing/zbar/thoughtworkQRcode解析二維碼的示例代碼的文章就介紹到這了,更多相關C#解析二維碼內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • C#獲取全部目錄和文件的簡單實例

    C#獲取全部目錄和文件的簡單實例

    這篇文章介紹了C#獲取全部目錄和文件的簡單實例,有需要的朋友可以參考一下
    2013-10-10
  • C#  .NET實現(xiàn)Excel到JSON的自動化轉(zhuǎn)換

    C#  .NET實現(xiàn)Excel到JSON的自動化轉(zhuǎn)換

    在 .NET 開發(fā)中,Excel 與 JSON 的格式轉(zhuǎn)換是數(shù)據(jù)交互的高頻需求,本文將詳細講解如何使用免費 庫快速實現(xiàn) Excel 到 JSON 的自動化轉(zhuǎn)換,有需要的可以了解下
    2026-01-01
  • C#向Word文檔中添加內(nèi)容控件的方法示例

    C#向Word文檔中添加內(nèi)容控件的方法示例

    這篇文章主要給大家介紹了C#向Word文檔中添加內(nèi)容控件的方法,文中對各種不同控件的添加方法分別進行了介紹,如組合框、文本、圖片、日期選取器及下拉列表等內(nèi)容控件,都給出了詳細的示例代碼,有需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-01-01
  • 使用linq to xml修改app.config示例(linq讀取xml)

    使用linq to xml修改app.config示例(linq讀取xml)

    這篇文章主要介紹了使用linq to xml修改app.config示例,需要的朋友可以參考下
    2014-02-02
  • C#程序加密工具.Net?Reactor詳細教程

    C#程序加密工具.Net?Reactor詳細教程

    .Net?Reacto加密工具是一款強大的?.NET?代碼保護和授權管理系統(tǒng),安全可靠、簡單易用,主要用來幫助開發(fā)人員保護他們的?.NET?軟件產(chǎn)品,本文給大家詳細介紹C#程序加密工具.Net?Reactor教程,感興趣的朋友一起看看吧
    2022-02-02
  • C#儀器數(shù)據(jù)文件解析Excel文件的方法淺析(xls、xlsx)

    C#儀器數(shù)據(jù)文件解析Excel文件的方法淺析(xls、xlsx)

    這篇文章主要給大家介紹了關于C#儀器數(shù)據(jù)文件如何解析Excel文件的方法,包括解析xls、xlsx兩種格式,文中介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧。
    2017-10-10
  • C#配置文件操作類分享

    C#配置文件操作類分享

    這篇文章主要分享了C#配置文件操作類,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • C# 實現(xiàn)dataGridView選中一行右鍵出現(xiàn)菜單的示例代碼

    C# 實現(xiàn)dataGridView選中一行右鍵出現(xiàn)菜單的示例代碼

    這篇文章主要介紹了C# 實現(xiàn)dataGridView選中一行右鍵出現(xiàn)菜單,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-09-09
  • Unity3D實現(xiàn)導航效果

    Unity3D實現(xiàn)導航效果

    這篇文章主要為大家詳細介紹了Unity3D實現(xiàn)簡單導航效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-02-02
  • C#使用DateTime.Now靜態(tài)屬性動態(tài)獲得系統(tǒng)當前日期和時間

    C#使用DateTime.Now靜態(tài)屬性動態(tài)獲得系統(tǒng)當前日期和時間

    本文主要介紹了C#使用DateTime.Now靜態(tài)屬性動態(tài)獲得系統(tǒng)當前日期和時間,DateTime結(jié)構(gòu)的Now靜態(tài)屬性只是得到一個系統(tǒng)時間對象,該時間對象不會隨著系統(tǒng)時間的變化而變化,如果要動態(tài)顯示系統(tǒng)時間,可以使用計時器間隔地獲取系統(tǒng)時間對象并顯示,感興趣的可以了解一下
    2024-01-01

最新評論

固安县| 普格县| 同德县| 棋牌| 仙游县| 镶黄旗| 铜川市| 凤庆县| 中方县| 老河口市| 九寨沟县| 修武县| 汉中市| 巴中市| 菏泽市| 兴义市| 兰西县| 青州市| 中江县| 静乐县| 临邑县| 高州市| 玉溪市| 阜城县| 都安| 安义县| 中西区| 鱼台县| 景东| 聂拉木县| 卓尼县| 航空| 巫山县| 花莲县| 永平县| 高碑店市| 黑河市| 福建省| 广宗县| 甘孜| 依安县|