C# 二维码 方案 各抒己见 本帖最后由 Wu_Denny 于 2011-08-30 10:17:53 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 NickLee.Web.UI中的QRCode读写,写比较好,读还是建议用硬件设备 中文问题Ansi->Unicode即可 参考地址:www.cnblogs.com/mail-rickleeorg.zxing,写比较不好,读很好,可以参考 参考地址:http://code.google.com/p/zxing/ 這個是最佳的解決方案http://www.neodynamic.com dll下载222.175.220.26:88/zxing.rar使用string content = "tel:汉ooj字"; Hashtable h = new System.Collections.Hashtable(); h.Add("UTF-8", "UTF-8"); ByteMatrix byteMatrix = new MultiFormatWriter().encode(content, BarcodeFormat.QR_CODE, 200, 200, h); Bitmap bitmap = toBitmap(byteMatrix); MemoryStream ms = new MemoryStream(); bitmap.Save("c:\\1\\a.jpg", ImageFormat.Jpeg); Image img = Image.FromFile("c:\\1\\a.jpg"); Bitmap bmap; try { bmap = new Bitmap(img); } catch (System.IO.IOException ioe) { return; } if (bmap == null) { return; } LuminanceSource source = new RGBLuminanceSource(bmap, bmap.Width, bmap.Height); com.google.zxing.BinaryBitmap bitmapdc = new com.google.zxing.BinaryBitmap(new HybridBinarizer(source)); Result result; try { result = new MultiFormatReader().decode(bitmapdc); } catch (ReaderException re) { return; } Response.Write(result); toBitmap方法public static Bitmap toBitmap(ByteMatrix matrix) { int width = matrix.Width; int height = matrix.Height; Bitmap bmap = new Bitmap(width, height, System.Drawing.Imaging.PixelFormat.Format32bppArgb); for (int x = 0; x < width; x++) { for (int y = 0; y < height; y++) { bmap.SetPixel(x, y, matrix.get_Renamed(x, y) != -1 ? ColorTranslator.FromHtml("0xFF000000") : ColorTranslator.FromHtml("0xFFFFFFFF")); } } return bmap; } 是这个吗? neodynamic 有web版本,爲什麽要傳真? jquery.qrcode.js是一个可以直接在浏览器中生成二维条码qrcode的jQuery插件 <script type="text/javascript" src="jquery.qrcode.min.js"></script><div id="qrcode"></div>jquery('#qrcode').qrcode("this plugin is great"); 刚采用了。楼上的。用zxing确实,是可以生成,读取。现在主要的问题是,提供的这些开源程序,多数都是读取固定的“图片格式”文件。 我仔细看了下公司现有读取条形码的程序,我们的传真服务器硬件程序,会自动接受传真文件格式保存为.tif格式的文件。这里面包括了传真内容,顶部为条形码 。 我想,现有程序能够通过读取这样的文件,找到条形码的固定值,应该是,内部写了某个用来扫描传真文件的类库。 所以,主要是不知道,这个扫描程序是如何做到的。 你获取TIF就知道点阵信息.如果你的发送传真位置基本固定.如果位置不固定.你可以考虑使用楼上贴的QR码 这个有定位符..这3个大防快不难找把. 然后按巨型获取出来信息 3个大方块的位置确定了 获取个矩形也不难把.然后给你的DLL识别就好了. 嗯。就是这个意思!需要在这个TIF类似图片文件中,找到QR码的这个矩形方正。有这个图片,就好匹配了。但是这个代码实现起来,对于我而言都是新的知识,有点难度。可否推荐下具体示例网站。类似于在一个图片中,找到一个固定的点。 你自己看看Bitmap Image 和BitmapData 这3个类....估计几分钟你就明白了。..要写就多了..找个地方 你还是MSDN翻翻 请教关于SESSION的问题 所有的按钮事件中加入某个方法 aspx页面读取数据问题,老矛盾了。 动态获得控件名(在带有master page结构下) 请问MICROSOFT的宠物商店的网址是会么? Atlas页面要附带下载60多K的脚本包... csc.exe编译出错 window.open 参数问题 求C# ASP.NET HTML编辑器! 自动转向其他页面(简单的问题) gridview手动分页 sql 似行转列,又不仅仅是行转列的问题,蛋疼中,在线求诊治..
中文问题Ansi->Unicode即可
参考地址:www.cnblogs.com/mail-ricklee
org.zxing,写比较不好,读很好,可以参考
参考地址:http://code.google.com/p/zxing/
使用
string content = "tel:汉ooj字";
Hashtable h = new System.Collections.Hashtable();
h.Add("UTF-8", "UTF-8");
ByteMatrix byteMatrix = new MultiFormatWriter().encode(content, BarcodeFormat.QR_CODE, 200, 200, h);
Bitmap bitmap = toBitmap(byteMatrix); MemoryStream ms = new MemoryStream();
bitmap.Save("c:\\1\\a.jpg", ImageFormat.Jpeg);
Image img = Image.FromFile("c:\\1\\a.jpg");
Bitmap bmap;
try
{
bmap = new Bitmap(img);
}
catch (System.IO.IOException ioe)
{
return;
}
if (bmap == null)
{
return;
}
LuminanceSource source = new RGBLuminanceSource(bmap, bmap.Width, bmap.Height);
com.google.zxing.BinaryBitmap bitmapdc = new com.google.zxing.BinaryBitmap(new HybridBinarizer(source));
Result result;
try
{
result = new MultiFormatReader().decode(bitmapdc);
}
catch (ReaderException re)
{ return;
} Response.Write(result);
toBitmap方法
public static Bitmap toBitmap(ByteMatrix matrix)
{
int width = matrix.Width;
int height = matrix.Height;
Bitmap bmap = new Bitmap(width, height, System.Drawing.Imaging.PixelFormat.Format32bppArgb);
for (int x = 0; x < width; x++)
{
for (int y = 0; y < height; y++)
{
bmap.SetPixel(x, y, matrix.get_Renamed(x, y) != -1 ? ColorTranslator.FromHtml("0xFF000000") : ColorTranslator.FromHtml("0xFFFFFFFF"));
}
}
return bmap;
}
是这个吗?
我仔细看了下公司现有读取条形码的程序,我们的传真服务器硬件程序,会自动接受传真文件格式保存为.tif格式的文件。这里面包括了传真内容,顶部为条形码 。 我想,现有程序能够通过读取这样的文件,找到条形码的固定值,应该是,内部写了某个用来扫描传真文件的类库。
所以,主要是不知道,这个扫描程序是如何做到的。
嗯。就是这个意思!需要在这个TIF类似图片文件中,找到QR码的这个矩形方正。有这个图片,就好匹配了。但是这个代码实现起来,对于我而言都是新的知识,有点难度。可否推荐下具体示例网站。类似于在一个图片中,找到一个固定的点。