2012-06-12 62 views
0

我打印短短QR码(如“HAEB16653”)在使用本algorythm在页面上:WP7斑马线扫描不可靠

private void CreateQRCodeFile(int size, string filename, string codecontent) 
{ 
    QRCodeWriter writer = new QRCodeWriter(); 
    com.google.zxing.common.ByteMatrix matrix; 
    matrix = writer.encode(codecontent, BarcodeFormat.QR_CODE, size, size, null); 
    Bitmap img = new Bitmap(size, size); 
    Color Color = Color.FromArgb(0, 0, 0); 
    for (int y = 0; y < matrix.Height; ++y) 
    { 
    for (int x = 0; x < matrix.Width; ++x) 
    { 
     Color pixelColor = img.GetPixel(x, y); 
     //Find the colour of the dot 
     if (matrix.get_Renamed(x, y) == -1) 
     { 
     img.SetPixel(x, y, Color.White); 
     } 
     else 
     { 
     img.SetPixel(x, y, Color.Black); 
     } 
    } 
    } 
    img.Save(filename, ImageFormat.Png); 
} 

打印的条形码与集成WP7很好地工作和快速扫描&搜索。

当我尝试扫描与Stéphanie Hertrichs sample app完全相同的打印qrcodes时,扫描速度非常慢,大多数根本不扫描,或者只有在缓慢旋转相机时才能识别。

如何让我的扫描与集成条形码识别一样可靠?我只需要扫描QrCodes,所以我禁用了所有其他的,但大多数情况下它仍然不起作用。

是否有其他的条码扫描库可以更好地工作?

回答

1

zxing工作得很好 - 只需在Android上试用即可。如果Bing搜索功能强大,我不会感到惊讶。

问题可能在港口。任何非Java端口最多都是旧的和不完整的。我也无法说出您所看到的样本中使用的方法的效率。例如,它是否真正正确地从API中二值化图像?还要确保它没有使用TRY_HARDER模式。

0

没有客观的回答这个问题......

我个人的看法是,你尝试过斑马线LIB(史蒂芬妮Hertrichs示例应用程序)是你可以得到最好的。据我所知,它也用于其他平台(例如Android)。

正如我在几个月前测试的lib,我有它的工作非常可靠和快速的印象,但它可能是你有其他的情况(照明,摄像头,角等)

+0

当我使用windows phone的集成扫描和搜索功能时,我感到惊讶的是识别能力如何。所以我确定QrCodes,灯光和角度都很好,并且在lib中有一些问题。 – Sam

+0

我同意你bing视觉QR检测更好(虽然它有时有一些设计QR码,如[这里](https://www.facebook.com/Design.QR.code)),但是,我不认为有任何API或库在第三方应用程序中使用它。 –

2

StéphanieHertrichs示例应用程序中的Silverlight端口非常旧。在我看来,codeplex的项目从1年以后就不再维护了。你应该试试其中一个更新和维护的端口,例如ZXing.Net

+2

你应该表明你开发的项目。请参阅http://stackoverflow.com/faq#promotion – j0k

+0

你是绝对正确的。我必须指出这一点。顺便说一句。不能相信有人认识我。 :) – Michael