2012-04-10 10 views
6

मुझे सी # प्रोजेक्ट (विंडोज़ फॉर्म) पर छवियों से 2 डी बारकोड (डेटामैट्रिक्स) पढ़ने के लिए लाइब्रेरी की आवश्यकता है, मैंने इसे अन्य एसडीके का उपयोग करके करने की कोशिश की, लेकिन एसडीके मुक्त नहीं हैं। क्या वहां कोई मुफ्त एसडीके पढ़ने के लिए है छवियों से 2 डी बारकोड?छवियों से 2 डी बारकोड पढ़ना

+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/, ... आप किस spec का पालन करने की कोशिश कर रहे हैं? –

+0

मुझे एक बार फिर से छवि –

+0

से 2 डी डेटामैट्रिक्स पढ़ने की आवश्यकता है: कौन सा spec? –

उत्तर

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

मैंने इसका उपयोग करने की कोशिश की है, लेकिन यह यूनिकोड वर्णों को ठीक से डीकोड नहीं कर सका (यह 2 साल पहले था, मुझे लगता है) - मैंने स्ट्रिंग एन्कोड किया, जिसमें रूसी वर्ण थे और यह मुझे देने में असफल रहा डीकोडिंग पर उचित परिणाम। – cookieMonster

+1

@cookieMonster वास्तव में DataMatrix.net 'ए सी #/नेट-लाइब्रेरी एन्कोडिंग और डीकोडिंग डेटामैट्रिक्स कोड (libdmtx के .net-port पर आधारित) है। - इसलिए यह आपके सुझाए गए libdtmx पर आधारित है। बीटीडब्ल्यू - क्या आपने रूसी वर्णों में आने पर एक बग-टिकट @ DataMatrix.net दर्ज किया था? –

+0

यह 'आधारित' हो सकता है, लेकिन यह एक .NET पोर्ट नहीं है, libdmtx का अपना पोर्ट है और यह डिकोडिंग के मामले में बेहतर काम करता है। – cookieMonster

2

बेस्ट फ्री डाटामैट्रिक्स कोडर \ डिकोडर जिसका मैंने उपयोग किया है libdmtx है: http://www.libdmtx.org/। इसमें सी # रैपर है, इसलिए इसका इस्तेमाल करने में संकोच न करें। मैं अभी नमूना कोड नहीं लिख सकता, लेकिन यदि आप इसे स्वयं संभालने में सक्षम नहीं होंगे, तो मैं इसके साथ थोड़ी देर बाद आपकी सहायता करूंगा।

संपादित करें: libdmtx कंसोल यूटिल के साथ आता है - यदि आप कंसोल ऐप के साथ अपने बारकोड पढ़ने में सक्षम होंगे, तो आप निश्चित रूप से कोड का उपयोग करके इसे पढ़ लेंगे।

EDIT2: यहाँ कोड नमूने: http://libdmtx.wikidot.com/libdmtx-net-wrapper

मुझे आश्चर्य है अगर आप कुछ अन्य जानकारी, बारकोड को छोड़कर वाले चित्र की है। बात यह है कि - मुझे किसी भी अन्य डेटा को ठीक से चित्रित करने के लिए किसी भी तस्वीर पर बारकोड ढूंढने के लिए किसी भी मुक्त \ ओपन सोर्स लिब को नहीं पता है। और यहां अन्य डेटामैट्रिक्स कार्यान्वयन का लिंक दिया गया है: http://www.libdmtx.org/resources.php