【发布时间】:2019-03-17 10:44:59
【问题描述】:
我正在从 node.js 中上传的图像中读取多个条形码。为此,我使用 javascript-barcode-reader,它需要 ImageData 作为输入。要获取图像的 ImageData,我必须使用 node-canvas(因为我必须在 Nodejs 中完成这一切,而不是前端)。
下面的代码执行时没有任何警告/错误。目前,我只使用单个条形码图像,但我将code 设为空。
这里出了什么问题,为什么我得到 null 值。
const Canvas = require('canvas');
const javascriptBarcodeReader = require('javascript-barcode-reader');
var filepath = './images/Code-2of5.jpg';
var buf = fs.readFileSync(filepath);
var canvas = new Canvas(640, 480);
var Image = Canvas.Image;
var ctx = canvas.getContext('2d');
fs.readFileSync(filepath, function (err, squid) {
if (err) throw err;
let img = new Image;
img.src = squid;
img.onload = function () {
ctx.drawImage(img, 0, 0, 640, 480);
}
});
let imgData = ctx.getImageData(0, 0, 640, 480);
const code = javascriptBarcodeReader(imgData /* ImageData */ , {
barcode: 'code-2of5', // 'code-128'
type: 'interleaved', //standard/interleaved optional type
});
console.log(code); // output as null
最初,我只尝试单个条形码图像。
【问题讨论】:
-
你也可以分享你的图片吗?
标签: javascript node.js barcode barcode-scanner node-canvas