0
我是Windows Phone 8.1開發人員中的新成員。 我在做一個簡單的應用程序,使用ZXing.Net和Windows Phone 8.1 SDK掃描條碼。ZXing.Net中的「索引超出數組範圍」解碼方法
當我打電話給解碼方法,我得到的文本例外「索引數組的範圍之外」
下面是部分代碼:
InMemoryRandomAccessStream stream = new InMemoryRandomAccessStream();
await Camera.CapturePhotoToStreamAsync(ImageEncodingProperties.CreateJpeg(), stream);
stream.Seek(0);
var properties = Camera.VideoDeviceController.GetMediaStreamProperties(MediaStreamType.VideoPreview);
var videoEncodingProperties = properties as VideoEncodingProperties;
WriteableBitmap writableImg = new WriteableBitmap((int)videoEncodingProperties.Width, (int)videoEncodingProperties.Height);
await writableImg.SetSourceAsync(stream);
result = barcode.Decode(writableImg); // The exception is here
if (result != null)
{
debug.Text = result.Text;
}
else
{
debug.Text = "No results";
}
我認爲這個問題是與WritableImage的大小,因爲當我在模擬器上運行應用程序(肯定沒有條形碼),解碼器解碼並返回沒有值(這沒關係),但是當我在WP8.1上運行它時設備,我得到一個文本異常: 「索引超出了陣列的範圍」
我試圖調整可寫圖像的大小,但沒有結果!但也許我正在調整一個不好的方式或價值觀。 有什麼幫助嗎?謝謝。
感謝@Lyle,作爲一個qr代碼閱讀器,此代碼是否執行可接受的性能和資源行爲(例如高內存使用率)? – Hashem 2014-10-21 22:52:44
我的項目專注於我的業務code39,我還沒有得到zxing讀取code39條形碼 – Lyle 2014-10-22 14:14:56
我試過這種策略,但writeableBmp.PixelWidth,writeableBmp.PixelHeight總是1,所以我總是得到索引外部錯誤... – pomarc 2014-11-03 12:22:11