2012-04-10 19 views
6

ho bisogno della libreria per leggere il codice a barre 2D (datamatrix) dalle immagini sul progetto C# (Windows Forms) l'ho provato usando altri sdk, ma quello sdk non è gratuito. C'è qualche sdk gratuito per la lettura Codice a barre 2d dalle immagini?Leggere il codice a barre 2D dalle immagini

+1

http://www.codeproject.com/Articles/10162/Creating-EAN-13-Barcodes-with-C, http://community.bartdesmet.net/ blog/bart/archive/2006/09/18/4432.aspx, http://www.idautomation.com/formscontrols/free/, ... quali specifiche stai cercando di seguire? –

+0

Ho bisogno di leggere una datamatrix 2D da un'immagine –

+0

ancora una volta: quale specifica? –

risposta

4

C'è un 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(); 
    } 

Avrete bisogno DataMatrix.net!

+0

ho provato a usarlo, ma non è stato in grado di decodificare i caratteri unicode correttamente (era 2 anni fa, credo) - ho una stringa codificata, che conteneva caratteri russi e non è riuscita a darmi risultato corretto sulla decodifica. – cookieMonster

+1

@cookieMonster in realtà DataMatrix.net è 'A C# /. Net-library per codificare e decodificare i codici DataMatrix (basati su una porta .net di libdmtx) .' - quindi è basato sul libdtmx suggerito. btw - hai archiviato un ticket-bug @ DataMatrix.net quando hai trovato caratteri russi? –

+0

può essere 'basato su', ma non è una porta .net, libdmtx ha la propria porta e funziona meglio in termini di decodifica. – cookieMonster

2

Il miglior codificatore/decodificatore Datamatrix che ho utilizzato è libdmtx: http://www.libdmtx.org/. Ha un wrapper C#, quindi sentitevi liberi di usarlo. Non riesco a scrivere codice di esempio in questo momento, ma se non sarai in grado di gestirlo da solo, ti aiuterò un po 'più tardi.

MODIFICA: libdmtx viene fornito con utilità di console - se si sarà in grado di leggere i codici a barre con l'app di console, sicuramente lo si leggerà utilizzando il codice.

EDIT2: Ecco esempi di codice: http://libdmtx.wikidot.com/libdmtx-net-wrapper

Mi chiedo se si dispone di immagini contenenti alcune altre informazioni, ad eccezione del codice a barre. Il fatto è che non conosco lib di libero \ open source per gestire la ricerca di codici a barre su un'immagine, contenente correttamente altri dati. Ed ecco il link ad altre implementazioni di datamatrix: http://www.libdmtx.org/resources.php

Problemi correlati