2012-04-10 3 views
6

J'ai besoin de bibliothèque pour lire le code barre 2D (datamatrix) des images sur le projet C# (windows Forms) je l'ai essayé en utilisant d'autres sdk, mais ce sdk n'est pas gratuit. 2d Barcode à partir d'images?Lire le code à barres 2D à partir d'images

+1

http://www.codeproject.com/Articles/10162/Creating-EAN-13-Barcodes-with-C, http://community.bartdesmet.net/ blogs/bart/archive/2006/09/18/4432.aspx, http://www.idautomation.com/formscontrols/free/, ... quelles spécifications essayez-vous de suivre? –

+0

j'ai besoin de lire 2D datamatrix à partir d'une image –

+0

encore une fois: quelle spécification? –

Répondre

4

Il y a 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(); 
    } 

Vous aurez besoin DataMatrix.net!

+0

J'ai essayé de l'utiliser, mais il ne pouvait pas décoder les caractères unicode correctement (il y a 2 ans, je suppose) - chaîne encodée, qui contenait des caractères russes et il n'a pas réussi à me donner résultat correct sur le décodage. – cookieMonster

+1

@cookieMonster En fait, DataMatrix.net est une bibliothèque réseau A C# /. Pour l'encodage et le décodage des codes DataMatrix (basée sur un port .net de libdmtx) .' - elle est donc basée sur votre libdtmx suggéré. btw - avez-vous déposé un ticket de bogue @ DataMatrix.net en cherchant des caractères russes? –

+0

peut être 'basé sur', mais ce n'est pas un port .net, libdmtx a son propre port et il fonctionne mieux en termes de décodage. – cookieMonster

2

Le meilleur codeur/décodeur Datamatrix que j'ai utilisé est libdmtx: http://www.libdmtx.org/. Il a C# wrapper, alors n'hésitez pas à l'utiliser. Je ne peux pas écrire de code en ce moment, mais si vous ne pouvez pas le gérer vous-même, je vous aiderai un peu plus tard.

EDIT: libdmtx est livré avec des utilitaires de console - si vous serez en mesure de lire vos codes à barres avec l'application console, vous allez sûrement le lire en utilisant le code.

EDIT2: Voici des exemples de code: http://libdmtx.wikidot.com/libdmtx-net-wrapper

Je me demande si vous avez des photos contenant une autre information, à l'exception du code à barres. La chose est - je ne sais pas lib libre \ open source pour gérer la recherche de codes à barres sur une image, contenant toutes les autres données correctement. Et voici le lien vers d'autres implémentations de datamatrix: http://www.libdmtx.org/resources.php

Questions connexes