Ich habe eine Windows Store App in XAML geschrieben & C# Bild von Tablet-Webcam zu lesen und den Barcode mit Zxing's Library decodieren. Der Code funktioniert gut auf einem bestimmten Tablet mit einem i5-Prozessor, während es auf einem tatsächlichen Tablet mit 2MP-Kamera und "Intel Baytrail Quad-Core" -Prozessor läuft.Decoding Barcode mit Zxing-Bibliothek funktioniert auf 1 Tablette, aber funktioniert nicht auf einem anderen Tablet
Irgendwelche Ideen, warum das passieren könnte?
Bitte lassen Sie mich wissen, wenn Sie meinen Code für dieses Problem Anzeige sehen müssen, die ich teilen werde.
Ich frage mich, wie kann der gleiche Code auf 1 Tablette arbeiten, während auf einem anderen Tablet fehlschlagen.
Vielen Dank im Voraus für jede Hilfe zur Verfügung gestellt.
EDIT
-Code verwendet, um den Barcode zu scannen und wie weiter unten lesen - die letzte if/else-Block ist, was ich zu bekommen. Keine Ausnahme ausgelöst :(
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.
}
}
Logs? Ausnahmen?Stellen Sie zumindest den Code ein, der das Bild erfasst und ZXing aufruft. In StackOverflow ist es eine Regel, Ihren Code zu veröffentlichen. –
@ PanagiotisKanavos Code hinzugefügt :) – Nitesh
Und? Wo erkennst du, dass du kein Bild hast? Überprüfe du imageStream, um zu sehen, ob es irgendwelche Daten enthält? Loggen Sie etwas ein, wenn 'data' oder' result' null sind? –