Take the following steps to start a project and to add some code that will load an image and read it's barcodes in a Windows Store application using LEADTOOLS WinRT libraries.
In the Solution Explorer window, right-click on the References folder for the project and select Add Reference... from the context menu. Browse to the <LEADTOOLS_INSTALLDIR>\Bin\WinRT8_1\ folder (depending on your target platform), and select the following .WINMD files:
Click the Add button and then click OK to add the above references.
Open the default.html file and copy the below html code into the editor:
<!DOCTYPE html><html><head><meta charset="utf-8" /><title>ReadingBarcodes</title><!-- WinJS references --><link href="//Microsoft.WinJS.1.0/css/ui-dark.css" rel="stylesheet" /><scriptsrc="//Microsoft.WinJS.1.0/js/base.js"></script><scriptsrc="//Microsoft.WinJS.1.0/js/ui.js"></script><!-- OCRImage references --><link href="/css/default.css"rel="stylesheet"/><scriptsrc="/js/default.js" ></script></head><body><input id="btnLoadAndReadBarcodes" type="button" value="Load And Read Barcodes" /><br /><p id="statusText" ></p><br /><textarea id="resultsTextArea" readonly="readonly" style="width: 500px; height: 500px" ></textarea><br /></body></html>
Change to default.js in the Solution Explorer and copy the following code into the file (overwrite all existing code):
// For an introduction to the Blank template, see the following documentation:// http://msdn.microsoft.com/en-us/library/windows/apps/hh758331.aspx(function () {"use strict";WinJS.Binding.optimizeBindingReferences = true;var app = WinJS.Application;var activation = Windows.ApplicationModel.Activation;app.onactivated = function (args) {if (args.detail.kind === activation.ActivationKind.launch) {if (args.detail.previousExecutionState !== activation.ApplicationExecutionState.terminated) {// TODO: This application has been newly launched. Initialize// your application here.document.getElementById("btnLoadAndReadBarcodes").addEventListener("click", ReadBarcodes, false);Leadtools.RasterSupport.initialize(); // replace this with RasterSupport.SetLicense when you have a valid runtime license._barcodeEngine = new Leadtools.Barcode.BarcodeEngine();} else {// TODO: This application has been reactivated from suspension.// Restore application state here.}args.setPromise(WinJS.UI.processAll());}};app.oncheckpoint = function (args) {// TODO: This application is about to be suspended. Save any state// that needs to persist across suspensions here. You might use the// WinJS.Application.sessionState object, which is automatically// saved and restored across suspension. If you need to complete an// asynchronous operation before your application is suspended, call// args.setPromise().};app.start();var _barcodeEngine = null;function ReadBarcodes() {// Create a file picker objectvar openPicker = new Windows.Storage.Pickers.FileOpenPicker();openPicker.viewMode = Windows.Storage.Pickers.PickerViewMode.thumbnail;openPicker.suggestedStartLocation = Windows.Storage.Pickers.PickerLocationId.picturesLibrary;openPicker.ViewMode = Windows.Storage.Pickers.PickerViewMode.List;//Add a few supported file typesopenPicker.fileTypeFilter.append(".jpg");openPicker.fileTypeFilter.append(".jpeg");openPicker.fileTypeFilter.append(".jxr");openPicker.fileTypeFilter.append(".png");openPicker.fileTypeFilter.append(".bmp");openPicker.fileTypeFilter.append(".pcx");openPicker.fileTypeFilter.append(".tif");openPicker.fileTypeFilter.append(".tiff");openPicker.fileTypeFilter.append(".j2k");openPicker.fileTypeFilter.append(".jbg");openPicker.fileTypeFilter.append(".gif");openPicker.fileTypeFilter.append(".jls");openPicker.fileTypeFilter.append(".jb2");openPicker.fileTypeFilter.append(".psd");openPicker.fileTypeFilter.append(".dcm");openPicker.fileTypeFilter.append(".dic");openPicker.fileTypeFilter.append(".pdf");// Open the picker for the user to pick a fileopenPicker.pickSingleFileAsync().then(function (file) {if (!file) {// The picker was dismissed with no selected filereturn;}document.getElementById('resultsTextArea').value = "";// Create a RasterCodecs object to load the filevar codecs = new Leadtools.Codecs.RasterCodecs();document.getElementById('statusText').innerText = "Loading image..." ;// Create a LEAD stream for the filevar leadStream = Leadtools.LeadStreamFactory.create(file);// Load itcodecs.options.load.initAlpha = true;codecs.loadAsync(leadStream, 32, Leadtools.Codecs.CodecsLoadByteOrder.bgr, 1, 1).then(function (rasterImage) {var types = new Array();types.push(Leadtools.Barcode.BarcodeSymbology.unknown);//Search the entire imagevar rc = Leadtools.LeadRectHelper.create(0, 0, rasterImage.width, rasterImage.height);//Look for barcodesdocument.getElementById('statusText').innerText = "Reading Barcodes...";var barcodes = _barcodeEngine.reader.readBarcodes(rasterImage, rc, 0, types);if (barcodes == null) {document.getElementById('statusText').innerText = "No barcodes were found.";}else {//Show the resultsvar results = barcodes.length.toString();results += ' barcode(s) found\n';results += '\n';for (var i = 0; i < barcodes.length; i++) {var barcode = barcodes[i];results += 'Type: ' + barcode.symbology.toString() + '\n';results += 'Location: ';results += Leadtools.LeadRectHelper.left(barcode.bounds) + ', ';results += Leadtools.LeadRectHelper.top(barcode.bounds) + ', ';results += Leadtools.LeadRectHelper.right(barcode.bounds) + ', ' ;results += Leadtools.LeadRectHelper.bottom(barcode.bounds) + '\n';results += 'Value: ' + barcode.value + '\n';results += 'Data: ';for (var j = 0; j < barcode.getData().length ; j++) {var data = barcode.getData()[j];results += data;}results += '\n';results += '\n';}document.getElementById('resultsTextArea').value = results;document.getElementById('statusText').innerText = "Complete";}}, function (e) {var msg = new Windows.UI.Popups.MessageDialog("Error loading image");msg.showAsync();document.getElementById('statusText').innerText = "Error loading image";});});}})();
Build, and Run the program to test it.