我已经用XAML和C#编写了一个Windows存储应用程序,以从平板电脑的网络摄像头读取图像,并使用Zxing的库对条形码进行解码。该代码在具有i5处理器的给定平板电脑上可以正常工作,而无法在具有2MP摄像头和“ Intel Baytrail Quad-Core”处理器的实际平板电脑上运行。
为什么会发生这种情况的任何想法?
如果您需要查看我将分享的此问题广告的代码,请告诉我。
我想知道相同的代码如何在1台平板电脑上工作而在另一台平板电脑上失败。
在此先感谢您提供的任何帮助。
编辑
用于扫描条形码并读取如下的代码-我最后得到的if / else块。没有例外:(
string barcodeData = string.Empty;
using (var imageStream = new InMemoryRandomAccessStream())
{
processingImage = true;
var encodingProperties = new ImageEncodingProperties();
encodingProperties.Subtype = "Jpeg";
encodingProperties.Width = 400;
encodingProperties.Height = 400;
await captureMgr.CapturePhotoToStreamAsync(encodingProperties, imageStream);
await imageStream.FlushAsync();
imageStream.Seek(0);
var bitmap = new WriteableBitmap(400, 400);
bitmap.SetSource(imageStream);
preview1.Source = bitmap; //preview1 is an Image control to display the captured image
BitmapImage bitmapImage = new BitmapImage();
bitmapImage.SetSource(imageStream);
imageStream.Seek(0);
var bitmapDecoder = await BitmapDecoder.CreateAsync(BitmapDecoder.JpegDecoderId, imageStream);
var data = await bitmapDecoder.GetPixelDataAsync(
BitmapPixelFormat.Bgra8,
BitmapAlphaMode.Straight,
new BitmapTransform(),
ExifOrientationMode.IgnoreExifOrientation,
ColorManagementMode.DoNotColorManage
);
if (data != null)
{
BarcodeReader barcodeReader = new BarcodeReader();
var result = barcodeReader.Decode(
data.DetachPixelData(),
(int)bitmapDecoder.PixelWidth,
(int)bitmapDecoder.PixelHeight,
ZXing.RGBLuminanceSource.BitmapFormat.BGR32
);
if (result != null)
{
//Barcode found
}
else
//No data found.
}
}
我猜您正在使用ZXing.NET库。您是否曾经考虑过转移到另一个条形码扫描仪库?
访问ZXing.NET库中的“问题”部分,您可以看到Windows Phone仍然存在许多错误(并且也应该是Window Store)。
http://zxingnet.codeplex.com/workitem/list/basic
其中之一引起了我的注意。查看此评论:
尽管WP采样了所有目标Silverlight,但您一定不要忘记新的WP8.1基本版本是WinRT-因此,我建议您使用WinRT示例作为基本版本。
我尝试做同样的事情,但实际上,ZXing缺少很多用于WinRT Universal Apps的ATM-它速度慢,不可靠,几乎无法识别任何东西。
我不知道这有多可靠,但是上次更新项目是在4月7日!!!
您应该真正考虑更改您的资料库!
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句