2012-04-10 63 views
6

C#プロジェクト(windowsフォーム)の画像から2Dバーコード(データマトリックス)を読み取るライブラリが必要です。他のsdkを使って試しましたが、sdkはfreeではありません。 2d画像のバーコードですか?画像から2Dバーコードを読み取る

+1

http://www.codeproject.com/Articles/10162/Creating-EAN-13-Barcodes-with-C、http://community.bartdesmet.net/ブログ/バート/アーカイブ/ 2006/09/18/4432.aspx、http://www.idautomation.com/formscontrols/free/ ...どのスペックをフォローしようとしていますか? –

+0

イメージから2Dデータマトリックスをもう一度読み取る必要があります –

+0

:どちらの仕様? –

答えて

4

example availableがあります:

using DataMatrix.net;    // Add ref to DataMatrix.net.dll 
    using System.Drawing;    // Add ref to System.Drawing. 
    [...] 

    // --------------------------------------------------------------- 
    // Date  180310 
    // Purpose Get text from a DataMatrix image. 
    // Entry  sFileName - Name of the barcode file (PNG, + path). 
    // Return The text. 
    // Comments See source, project DataMatrixTest, Program.cs. 
    // --------------------------------------------------------------- 
    private string DecodeText(string sFileName) 
    { 
     DmtxImageDecoder decoder = new DmtxImageDecoder(); 
     System.Drawing.Bitmap oBitmap = new System.Drawing.Bitmap(sFileName); 
     List<string> oList = decoder.DecodeImage(oBitmap); 

     StringBuilder sb = new StringBuilder(); 
     sb.Length = 0; 
     foreach (string s in oList) 
     { 
      sb.Append(s); 
     } 
     return sb.ToString(); 
    } 

あなたはDataMatrix.netが必要になるでしょう!

+0

私はそれを使用しようとしましたが、Unicodeの文字を正しくデコードできませんでした(2年前です) - 私はロシア文字を含む文字列をエンコードしてくれました。正しい解読結果。 – cookieMonster

+1

@cookieMonster実際にDataMatrix.netは '' DataMatrixコードを(.net-port of libdmtxに基づいて)エンコードおよびデコードするための '' C#/ .net-ライブラリ ''です - あなたの提案するlibdtmxに基づいています。 btw - あなたはロシアの文字を渡って来たときにバグチケット@ DataMatrix.netを提出しましたか? –

+0

それは '基づいている'かもしれませんが、それは.netポートではなく、libdmtxはそれ自身のポートを持っていて、デコードの点ではより良く動作します。 – cookieMonster

2

私が使っている最高の無料Datatrixコーダー/デコーダは、libdmtx:http://www.libdmtx.org/です。それはC#ラッパーを持っているので、自由に使用してください。私は今サンプルコードを書くことはできませんが、あなたがそれを自分で扱うことができなければ、私は少し後でそれをお手伝いします。

編集: libdmtxにはコンソールユーティリティが付属しています。コンソールアプリケーションでバーコードを読むことができるなら、必ずコードを使用して読むようにしてください。

EDIT2: ここでのコードサンプル:http://libdmtx.wikidot.com/libdmtx-net-wrapper

あなたがバーコードを除く他のいくつかの情報を含む画像を持っている場合、私は疑問に思います。物事は - 私は任意の他のデータが適切に含まれて、画像上のバーコードを見つけるのを処理するための無料の\オープンソースのlibを知りません。 ここに他のデータマトリックス実装へのリンクがあります:http://www.libdmtx.org/resources.php

関連する問題