亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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解析關(guān)鍵代碼:

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解析關(guān)鍵代碼:

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解析關(guān)鍵代碼:

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)很久沒再維護更新了,所以這也是跟不上時代的一個原因,但是效率確實比較高。

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

相關(guān)文章

  • c#事件使用示例詳解

    c#事件使用示例詳解

    這篇文章主要介紹了c#事件使用方法,下面我們利用一個例子來加深我們對事件的理解,需要的朋友可以參考下
    2014-04-04
  • C#實現(xiàn)洗牌算法

    C#實現(xiàn)洗牌算法

    洗牌算法的要求是這樣的:將N個數(shù)亂序后輸出.由于和撲克牌的洗牌過程比較相似所以我也就稱為洗牌算法了.很多地方都不自覺的需要這個算法的支持.也可以將這個算法擴展為從N個數(shù)中取出M個不重復(fù)的數(shù)(0<M<=N).今天我們看下如何用C#來實現(xiàn)
    2015-03-03
  • 在多線程中調(diào)用winform窗體控件的實現(xiàn)方法

    在多線程中調(diào)用winform窗體控件的實現(xiàn)方法

    這篇文章主要介紹了在多線程中調(diào)用winform窗體控件的實現(xiàn)方法,需要的朋友可以參考下
    2014-08-08
  • 操作XML文檔遇到的XMLNS問題及解決方法 (C# 和 PHP)

    操作XML文檔遇到的XMLNS問題及解決方法 (C# 和 PHP)

    不管是用 PHP 還是 C#, 在操作 XML 的時候我們除了一個節(jié)點一個節(jié)點去取值之外, 還有一個非常方便的表達式, 就是 XPATH
    2011-05-05
  • C#中迭代器和分部類的使用

    C#中迭代器和分部類的使用

    迭代器和分部類是C#語言的兩種重要特性,本文主要介紹了C#中迭代器和分部類的使用,具有一定的參考價值,感興趣的可以了解一下
    2024-01-01
  • Unity繪制二維動態(tài)曲線

    Unity繪制二維動態(tài)曲線

    這篇文章主要為大家詳細介紹了Unity繪制二維動態(tài)曲線,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-03-03
  • 關(guān)于C# TabPage如何隱藏的問題

    關(guān)于C# TabPage如何隱藏的問題

    TabPage沒有Visible屬性,所以只能通過設(shè)置將其與父控件(tabcontrol)的關(guān)聯(lián)性去除就好了,如下面代碼:
    2013-04-04
  • C#使用Task.ContinueWith組合任務(wù)

    C#使用Task.ContinueWith組合任務(wù)

    這篇文章介紹了C#使用Task.ContinueWith組合任務(wù)的方法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-04-04
  • C#監(jiān)測IPv4v6網(wǎng)速及流量的實例代碼

    C#監(jiān)測IPv4v6網(wǎng)速及流量的實例代碼

    這篇文章主要介紹了C#監(jiān)測IPv4v6網(wǎng)速及流量的實例代碼,文中講解非常細致,幫助大家更好的理解和學習,感興趣的朋友可以了解下
    2020-07-07
  • C#簡單獲取全屏中鼠標焦點位置坐標的方法示例

    C#簡單獲取全屏中鼠標焦點位置坐標的方法示例

    這篇文章主要介紹了C#簡單獲取全屏中鼠標焦點位置坐標的方法,涉及C#針對鼠標位置Position屬性的簡單操作技巧,需要的朋友可以參考下
    2017-07-07

最新評論