2012-04-10 23 views
6

Necesito una biblioteca para leer el código de barras 2D (datamatrix) de imágenes en el proyecto C# (Windows Forms) Lo intenté con otros SDK, pero los SDK's no son gratuitos. Hay SDK libre para leer 2d código de barras de las imágenes?Lectura de código de barras 2D desde imágenes

+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/, ... ¿qué especificación intentas seguir? –

+0

necesito leer la matriz de datos 2D desde una imagen –

+0

una vez más: ¿qué especificación? –

Respuesta

4

Hay 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(); 
    } 

Tendrá DataMatrix.net!

+0

intenté usarlo, pero no pude decodificar caracteres Unicode correctamente (hace 2 años, supongo) - codifiqué una cadena que contenía caracteres rusos y no me dio resultado adecuado en la decodificación. – cookieMonster

+1

@cookieMonster en realidad DataMatrix.net es 'A C# /. Net-library para codificar y decodificar códigos DataMatrix (basado en un puerto .net-de libdmtx) .', por lo que está basado en su libdtmx sugerido. Por cierto, ¿archivó un bug-ticket @ DataMatrix.net cuando se encontró con caracteres rusos? –

+0

puede estar 'basado en', pero no es un puerto .net, libdmtx tiene su propio puerto y funciona mejor en términos de decodificación. – cookieMonster

2

El mejor codificador/decodificador Datamatrix gratuito que he usado es libdmtx: http://www.libdmtx.org/. Tiene envoltorio de C#, así que siéntete libre de usarlo. No puedo escribir código de muestra ahora, pero si no puede manejarlo usted mismo, lo ayudaré un poco más adelante con eso.

EDIT: libdmtx viene con utilidades de la consola - si usted podrá leer sus códigos de barras con la aplicación de la consola, seguramente lo leerá usando el código.

Edit2: Aquí hay ejemplos de código: http://libdmtx.wikidot.com/libdmtx-net-wrapper

Me pregunto si tiene imágenes que contengan alguna otra información, excepto el código de barras. Lo que pasa es que no conozco ninguna libre biblioteca de código abierto para manejar la búsqueda de código de barras en una imagen, que contiene otros datos de manera adecuada. Y aquí está el enlace a otras implementaciones de datamatrix: http://www.libdmtx.org/resources.php

Cuestiones relacionadas