id-scanner-lib 1.1.1 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -381,6 +381,166 @@
381
381
  }
382
382
  return imageData;
383
383
  }
384
+ /**
385
+ * 降低图像分辨率以提高处理速度
386
+ *
387
+ * 对于OCR和图像分析,降低分辨率可以在保持识别率的同时大幅提升处理速度
388
+ *
389
+ * @param {ImageData} imageData - 原图像数据
390
+ * @param {number} [maxDimension=1000] - 目标最大尺寸(宽或高)
391
+ * @returns {ImageData} 处理后的图像数据
392
+ */
393
+ static downsampleForProcessing(imageData, maxDimension = 1000) {
394
+ const { width, height } = imageData;
395
+ // 如果图像尺寸已经小于或等于目标尺寸,则无需处理
396
+ if (width <= maxDimension && height <= maxDimension) {
397
+ return imageData;
398
+ }
399
+ // 计算缩放比例,保持宽高比
400
+ const scale = maxDimension / Math.max(width, height);
401
+ const newWidth = Math.round(width * scale);
402
+ const newHeight = Math.round(height * scale);
403
+ // 调整图像大小
404
+ return this.resize(imageData, newWidth, newHeight);
405
+ }
406
+ /**
407
+ * 转换图像为Base64格式,方便在Worker线程中传递
408
+ *
409
+ * @param {ImageData} imageData - 原图像数据
410
+ * @returns {string} base64编码的图像数据
411
+ */
412
+ static imageDataToBase64(imageData) {
413
+ const canvas = this.imageDataToCanvas(imageData);
414
+ return canvas.toDataURL('image/jpeg', 0.7); // 使用较低质量的JPEG格式减少数据量
415
+ }
416
+ /**
417
+ * 从Base64字符串还原图像数据
418
+ *
419
+ * @param {string} base64 - base64编码的图像数据
420
+ * @returns {Promise<ImageData>} 还原的图像数据
421
+ */
422
+ static async base64ToImageData(base64) {
423
+ return new Promise((resolve, reject) => {
424
+ const img = new Image();
425
+ img.onload = () => {
426
+ const canvas = document.createElement('canvas');
427
+ canvas.width = img.width;
428
+ canvas.height = img.height;
429
+ const ctx = canvas.getContext('2d');
430
+ if (!ctx) {
431
+ reject(new Error('无法创建Canvas上下文'));
432
+ return;
433
+ }
434
+ ctx.drawImage(img, 0, 0);
435
+ const imageData = ctx.getImageData(0, 0, canvas.width, canvas.height);
436
+ resolve(imageData);
437
+ };
438
+ img.onerror = () => {
439
+ reject(new Error('图像加载失败'));
440
+ };
441
+ img.src = base64;
442
+ });
443
+ }
444
+ /**
445
+ * 使用Web Worker并行处理图像
446
+ * 此方法将图像分割为多个部分,并行处理以提高性能
447
+ *
448
+ * @param {ImageData} imageData - 原图像数据
449
+ * @param {Function} processingFunction - 处理函数,接收ImageData返回ImageData
450
+ * @param {number} [chunks=4] - 分割的块数
451
+ * @returns {Promise<ImageData>} 处理后的图像数据
452
+ */
453
+ static async processImageInParallel(imageData, processingFunction, chunks = 4) {
454
+ // 如果不支持Worker或图像太小,直接处理
455
+ if (typeof Worker === 'undefined' || imageData.width * imageData.height < 100000) {
456
+ return processingFunction(imageData);
457
+ }
458
+ // 创建结果canvas
459
+ const resultCanvas = document.createElement('canvas');
460
+ resultCanvas.width = imageData.width;
461
+ resultCanvas.height = imageData.height;
462
+ const resultCtx = resultCanvas.getContext('2d');
463
+ if (!resultCtx) {
464
+ throw new Error('无法创建Canvas上下文');
465
+ }
466
+ // 根据图像特性确定分割方向和每块大小
467
+ const isWide = imageData.width > imageData.height;
468
+ const chunkSize = Math.floor((isWide ? imageData.width : imageData.height) / chunks);
469
+ // 创建Worker处理每个块
470
+ const promises = [];
471
+ for (let i = 0; i < chunks; i++) {
472
+ const chunkCanvas = document.createElement('canvas');
473
+ const chunkCtx = chunkCanvas.getContext('2d');
474
+ if (!chunkCtx)
475
+ continue;
476
+ let chunkImageData;
477
+ if (isWide) {
478
+ // 水平分割
479
+ const startX = i * chunkSize;
480
+ const width = (i === chunks - 1) ? imageData.width - startX : chunkSize;
481
+ chunkCanvas.width = width;
482
+ chunkCanvas.height = imageData.height;
483
+ // 复制原图像数据到分块
484
+ const tempCanvas = this.imageDataToCanvas(imageData);
485
+ chunkCtx.drawImage(tempCanvas, startX, 0, width, imageData.height, 0, 0, width, imageData.height);
486
+ chunkImageData = chunkCtx.getImageData(0, 0, width, imageData.height);
487
+ }
488
+ else {
489
+ // 垂直分割
490
+ const startY = i * chunkSize;
491
+ const height = (i === chunks - 1) ? imageData.height - startY : chunkSize;
492
+ chunkCanvas.width = imageData.width;
493
+ chunkCanvas.height = height;
494
+ // 复制原图像数据到分块
495
+ const tempCanvas = this.imageDataToCanvas(imageData);
496
+ chunkCtx.drawImage(tempCanvas, 0, startY, imageData.width, height, 0, 0, imageData.width, height);
497
+ chunkImageData = chunkCtx.getImageData(0, 0, imageData.width, height);
498
+ }
499
+ // 使用Worker处理
500
+ const workerCode = `
501
+ self.onmessage = function(e) {
502
+ const imageData = e.data.imageData;
503
+ const processingFunction = ${processingFunction.toString()};
504
+ const result = processingFunction(imageData);
505
+ self.postMessage({ result, index: e.data.index }, [result.data.buffer]);
506
+ }
507
+ `;
508
+ const blob = new Blob([workerCode], { type: 'application/javascript' });
509
+ const workerUrl = URL.createObjectURL(blob);
510
+ const worker = new Worker(workerUrl);
511
+ const promise = new Promise((resolve) => {
512
+ worker.onmessage = function (e) {
513
+ resolve(e.data);
514
+ worker.terminate();
515
+ URL.revokeObjectURL(workerUrl);
516
+ };
517
+ // 传输数据
518
+ worker.postMessage({
519
+ imageData: chunkImageData,
520
+ index: i
521
+ }, [chunkImageData.data.buffer]);
522
+ });
523
+ promises.push(promise);
524
+ }
525
+ // 等待所有Worker完成并组合结果
526
+ const results = await Promise.all(promises);
527
+ // 按索引排序结果
528
+ results.sort((a, b) => a.index - b.index);
529
+ // 将处理后的块绘制到结果canvas
530
+ for (let i = 0; i < results.length; i++) {
531
+ const { result } = results[i];
532
+ const tempCanvas = this.imageDataToCanvas(result);
533
+ if (isWide) {
534
+ const startX = i * chunkSize;
535
+ resultCtx.drawImage(tempCanvas, startX, 0);
536
+ }
537
+ else {
538
+ const startY = i * chunkSize;
539
+ resultCtx.drawImage(tempCanvas, 0, startY);
540
+ }
541
+ }
542
+ return resultCtx.getImageData(0, 0, imageData.width, imageData.height);
543
+ }
384
544
  }
385
545
 
386
546
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"id-scanner-qr.js","sources":["../src/utils/camera.ts","../src/scanner/qr-scanner.ts","../src/utils/image-processing.ts","../src/scanner/barcode-scanner.ts","../src/qr-module.ts"],"sourcesContent":[null,null,null,null,null],"names":[],"mappings":";;;;;;IAAA;;;;IAIG;IAgBH;;;;;;;;;;;;;;;;;;;;;;;;IAwBG;UACU,MAAM,CAAA;IAIjB;;;IAGG;IACH,IAAA,WAAA,CAAoB,UAAyB,EAAE,EAAA;YAA3B,IAAO,CAAA,OAAA,GAAP,OAAO;YAPnB,IAAM,CAAA,MAAA,GAAuB,IAAI;YACjC,IAAY,CAAA,YAAA,GAA4B,IAAI;YAOlD,IAAI,CAAC,OAAO,GAAG;IACb,YAAA,KAAK,EAAE,GAAG;IACV,YAAA,MAAM,EAAE,GAAG;IACX,YAAA,UAAU,EAAE,aAAa;IACzB,YAAA,GAAG;aACJ;;IAGH;;;;IAIG;QACH,MAAM,KAAK,CAAC,YAA8B,EAAA;IACxC,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC;;IAGtC;;IAEG;QACH,IAAI,GAAA;YACF,IAAI,CAAC,OAAO,EAAE;;IAGhB;;;;;;IAMG;QACH,MAAM,UAAU,CAAC,YAA8B,EAAA;IAC7C,QAAA,IAAI,CAAC,YAAY,GAAG,YAAY;IAEhC,QAAA,IAAI;;IAEF,YAAA,MAAM,WAAW,GAA2B;IAC1C,gBAAA,KAAK,EAAE;wBACL,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;wBACpC,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;IACtC,oBAAA,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC;IAC1B;iBACF;;IAGD,YAAA,IAAI,CAAC,MAAM,GAAG,MAAM,SAAS,CAAC,YAAY,CAAC,YAAY,CAAC,WAAW,CAAC;;IAGpE,YAAA,IAAI,IAAI,CAAC,YAAY,EAAE;oBACrB,IAAI,CAAC,YAAY,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM;IACzC,gBAAA,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,KAAI;IAClC,oBAAA,IAAI,IAAI,CAAC,YAAY,EAAE;IACrB,wBAAA,IAAI,CAAC,YAAY,CAAC,gBAAgB,GAAG,MAAK;IACxC,4BAAA,IAAI,IAAI,CAAC,YAAY,EAAE;IACrB,gCAAA,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,MAAM,OAAO,EAAE,CAAC;;IAElD,yBAAC;;IAEL,iBAAC,CAAC;;;YAEJ,OAAO,KAAK,EAAE;IACd,YAAA,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC;IAChC,YAAA,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC;;;IAI7D;;;;IAIG;QACH,YAAY,GAAA;IACV,QAAA,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;IACtB,YAAA,OAAO,IAAI;;;YAIb,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC;YAC/C,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU;YAC3C,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW;YAE7C,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC;YACvC,IAAI,CAAC,OAAO,EAAE;IACZ,YAAA,OAAO,IAAI;;;IAIb,QAAA,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC;;IAGvE,QAAA,OAAO,OAAO,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC;;IAGhE;;IAEG;QACH,OAAO,GAAA;;IAEL,QAAA,IAAI,IAAI,CAAC,MAAM,EAAE;IACf,YAAA,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;IACtD,YAAA,IAAI,CAAC,MAAM,GAAG,IAAI;;;IAIpB,QAAA,IAAI,IAAI,CAAC,YAAY,EAAE;IACrB,YAAA,IAAI,CAAC,YAAY,CAAC,SAAS,GAAG,IAAI;IAClC,YAAA,IAAI,CAAC,YAAY,GAAG,IAAI;;;IAG7B;;ICnKD;;;;IAIG;IAmBH;;;;;;;;;;;;;;;;;;;;;;;;;IAyBG;UACU,SAAS,CAAA;IAKpB;;;;IAIG;IACH,IAAA,WAAA,CAAoB,UAA4B,EAAE,EAAA;YAA9B,IAAO,CAAA,OAAA,GAAP,OAAO;YARnB,IAAQ,CAAA,QAAA,GAAG,KAAK;YAChB,IAAS,CAAA,SAAA,GAAkB,IAAI;YAQrC,IAAI,CAAC,OAAO,GAAG;IACb,YAAA,YAAY,EAAE,GAAG;IACjB,YAAA,GAAG;aACJ;IAED,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,EAAE;;IAG5B;;;;;;;;IAQG;QACH,MAAM,KAAK,CAAC,YAA8B,EAAA;IACxC,QAAA,IAAI;gBACF,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC;IAC1C,YAAA,IAAI,CAAC,QAAQ,GAAG,IAAI;gBACpB,IAAI,CAAC,IAAI,EAAE;;YACX,OAAO,KAAK,EAAE;IACd,YAAA,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;oBACxB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,YAAY,KAAK,GAAG,KAAK,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;;;;IAKrF;;;;;;IAMG;QACK,IAAI,GAAA;YACV,IAAI,CAAC,IAAI,CAAC,QAAQ;gBAAE;YAEpB,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE;YAE5C,IAAI,SAAS,EAAE;IACb,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC;gBAEpE,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;oBAC/B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;;;YAIlC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC;;IAGlF;;;;IAIG;QACH,IAAI,GAAA;IACF,QAAA,IAAI,CAAC,QAAQ,GAAG,KAAK;IAErB,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;IAClB,YAAA,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC;IAC5B,YAAA,IAAI,CAAC,SAAS,GAAG,IAAI;;IAGvB,QAAA,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;;IAExB;;IC/HD;;;;IAIG;IAEH;;;;;;;;;;;;;;;;;;IAkBG;UACU,cAAc,CAAA;IACzB;;;;;IAKG;QACH,OAAO,iBAAiB,CAAC,SAAoB,EAAA;YAC3C,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC;IAC/C,QAAA,MAAM,CAAC,KAAK,GAAG,SAAS,CAAC,KAAK;IAC9B,QAAA,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM;YAChC,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC;YAEnC,IAAI,GAAG,EAAE;gBACP,GAAG,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;;IAGnC,QAAA,OAAO,MAAM;;IAGf;;;;;IAKG;QACH,OAAO,iBAAiB,CAAC,MAAyB,EAAA;YAChD,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC;YACnC,OAAO,GAAG,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI;;IAGzE;;;;;;;IAOG;QACH,OAAO,wBAAwB,CAAC,SAAoB,EAAE,UAAqB,GAAA,CAAC,EAAE,QAAA,GAAmB,CAAC,EAAA;YAChG,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC;YAChD,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC;YAEnC,IAAI,GAAG,EAAE;IACP,YAAA,MAAM,OAAO,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC;IACnE,YAAA,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI;;gBAGzB,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,QAAQ,GAAG,GAAG,CAAC,KAAK,GAAG,IAAI,GAAG,GAAG,QAAQ,CAAC,CAAC;IAElE,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;;oBAEvC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,UAAU,CAAC;;oBAEpE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,UAAU,CAAC;;oBAE5E,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,UAAU,CAAC;;;gBAI9E,GAAG,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;IAC/B,YAAA,OAAO,OAAO;;IAGhB,QAAA,OAAO,SAAS;;IAGlB;;;;;;IAMG;QACK,OAAO,QAAQ,CAAC,KAAa,EAAA;IACnC,QAAA,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;;IAG1C;;;;;;;IAOG;QACH,OAAO,WAAW,CAAC,SAAoB,EAAA;YACrC,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC;YAChD,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC;YAEnC,IAAI,GAAG,EAAE;IACP,YAAA,MAAM,OAAO,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC;IACnE,YAAA,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI;IAEzB,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;oBACvC,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;IACrD,gBAAA,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;oBACd,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;oBAClB,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;;;gBAIpB,GAAG,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;IAC/B,YAAA,OAAO,OAAO;;IAGhB,QAAA,OAAO,SAAS;;IAGlB;;;;;;;IAOG;IACH,IAAA,OAAO,MAAM,CAAC,SAAoB,EAAE,QAAgB,EAAE,SAAiB,EAAA;YACrE,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC;IAC/C,QAAA,MAAM,CAAC,KAAK,GAAG,QAAQ;IACvB,QAAA,MAAM,CAAC,MAAM,GAAG,SAAS;YACzB,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC;YAEnC,IAAI,GAAG,EAAE;gBACP,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC;gBACpD,GAAG,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,SAAS,CAAC;IAC7F,YAAA,OAAO,GAAG,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,SAAS,CAAC;;IAGpD,QAAA,OAAO,SAAS;;IAEnB;;IC5JD;;;;IAIG;IAmBH;;;;;;;;;;;;;;;;;;;;;;;;;;IA0BG;UACU,cAAc,CAAA;IAKzB;;;;IAIG;IACH,IAAA,WAAA,CAAoB,UAAiC,EAAE,EAAA;YAAnC,IAAO,CAAA,OAAA,GAAP,OAAO;YARnB,IAAQ,CAAA,QAAA,GAAG,KAAK;YAChB,IAAS,CAAA,SAAA,GAAkB,IAAI;YAQrC,IAAI,CAAC,OAAO,GAAG;IACb,YAAA,YAAY,EAAE,GAAG;IACjB,YAAA,GAAG;aACJ;IAED,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,EAAE;;IAG5B;;;;;;;;IAQG;QACH,MAAM,KAAK,CAAC,YAA8B,EAAA;IACxC,QAAA,IAAI;gBACF,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC;IAC1C,YAAA,IAAI,CAAC,QAAQ,GAAG,IAAI;gBACpB,IAAI,CAAC,IAAI,EAAE;;YACX,OAAO,KAAK,EAAE;IACd,YAAA,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;oBACxB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,YAAY,KAAK,GAAG,KAAK,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;;;;IAKrF;;;;;;IAMG;QACK,IAAI,GAAA;YACV,IAAI,CAAC,IAAI,CAAC,QAAQ;gBAAE;YAEpB,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE;YAE5C,IAAI,SAAS,EAAE;IACb,YAAA,IAAI;;IAEF,gBAAA,MAAM,aAAa,GAAG,cAAc,CAAC,wBAAwB,CAC3D,cAAc,CAAC,WAAW,CAAC,SAAS,CAAC,EACrC,EAAE;IACF,gBAAA,EAAE;qBACH;;;;IAKD,gBAAA,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC;;gBACjC,OAAO,KAAK,EAAE;IACd,gBAAA,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC;;;YAIpC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC;;IAGlF;;;;;;;IAOG;IACK,IAAA,aAAa,CAAC,SAAoB,EAAA;;;;IAKxC,QAAA,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;;IAGzB,QAAA,IAAI,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,EAAE;IACxB,YAAA,MAAM,UAAU,GAAG,eAAe,CAAC;IAEnC,YAAA,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;IACvB,gBAAA,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC;;;;IAKrC;;;;IAIG;QACH,IAAI,GAAA;IACF,QAAA,IAAI,CAAC,QAAQ,GAAG,KAAK;IAErB,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;IAClB,YAAA,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC;IAC5B,YAAA,IAAI,CAAC,SAAS,GAAG,IAAI;;IAGvB,QAAA,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;;IAExB;;ICnKD;;;;;;IAMG;IAkBH;;;;IAIG;UACU,aAAa,CAAA;IAOxB;;;IAGG;IACH,IAAA,WAAA,CAAoB,UAAgC,EAAE,EAAA;YAAlC,IAAO,CAAA,OAAA,GAAP,OAAO;YAPnB,IAAQ,CAAA,QAAA,GAA4B,IAAI;YACxC,IAAY,CAAA,YAAA,GAA4B,IAAI;YAOlD,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC;IAC/C,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,SAAS,CAAC;gBAC7B,GAAG,OAAO,CAAC,gBAAgB;gBAC3B,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI;IACpC,SAAA,CAAC;IACF,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC;gBACvC,GAAG,OAAO,CAAC,qBAAqB;gBAChC,MAAM,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI;IACzC,SAAA,CAAC;;IAGJ;;;IAGG;QACH,MAAM,cAAc,CAAC,YAA8B,EAAA;IACjD,QAAA,IAAI,CAAC,IAAI,EAAE,CAAC;IAEZ,QAAA,IAAI,CAAC,YAAY,GAAG,YAAY;IAChC,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI;YACpB,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC;IACrC,QAAA,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,YAAY,CAAC;;IAGpC;;;IAGG;QACH,MAAM,mBAAmB,CAAC,YAA8B,EAAA;IACtD,QAAA,IAAI,CAAC,IAAI,EAAE,CAAC;IAEZ,QAAA,IAAI,CAAC,YAAY,GAAG,YAAY;IAChC,QAAA,IAAI,CAAC,QAAQ,GAAG,SAAS;YACzB,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC;IACrC,QAAA,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,YAAY,CAAC;;IAGzC;;IAEG;QACH,IAAI,GAAA;IACF,QAAA,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;IAC1B,YAAA,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE;;IAChB,aAAA,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE;IACtC,YAAA,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE;;IAG5B,QAAA,IAAI,IAAI,CAAC,YAAY,EAAE;IACrB,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;;IAGpB,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI;;IAGtB;;IAEG;IACK,IAAA,YAAY,CAAC,MAAc,EAAA;IACjC,QAAA,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE;IAChC,YAAA,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC;;;IAIxC;;IAEG;IACK,IAAA,iBAAiB,CAAC,MAAc,EAAA;IACtC,QAAA,IAAI,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE;IACjC,YAAA,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC;;;IAIzC;;IAEG;IACK,IAAA,WAAW,CAAC,KAAY,EAAA;IAC9B,QAAA,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;IACxB,YAAA,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;;iBACtB;IACL,YAAA,OAAO,CAAC,KAAK,CAAC,sBAAsB,EAAE,KAAK,CAAC;;;IAGjD;;;;;;;;;;;"}
1
+ {"version":3,"file":"id-scanner-qr.js","sources":["../src/utils/camera.ts","../src/scanner/qr-scanner.ts","../src/utils/image-processing.ts","../src/scanner/barcode-scanner.ts","../src/qr-module.ts"],"sourcesContent":[null,null,null,null,null],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
- !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("jsqr")):"function"==typeof define&&define.amd?define(["exports","jsqr"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).IDScannerQR={},t.jsQR)}(this,(function(t,e){"use strict";class n{constructor(t={}){this.options=t,this.stream=null,this.videoElement=null,this.options={width:640,height:480,facingMode:"environment",...t}}async start(t){return this.initialize(t)}stop(){this.release()}async initialize(t){this.videoElement=t;try{const t={video:{width:{ideal:this.options.width},height:{ideal:this.options.height},facingMode:this.options.facingMode}};this.stream=await navigator.mediaDevices.getUserMedia(t),this.videoElement&&(this.videoElement.srcObject=this.stream,await new Promise((t=>{this.videoElement&&(this.videoElement.onloadedmetadata=()=>{this.videoElement&&this.videoElement.play().then((()=>t()))})})))}catch(t){throw console.error("无法访问摄像头:",t),new Error("无法访问摄像头。请确保已授予摄像头访问权限,并且摄像头未被其他应用程序占用。")}}captureFrame(){if(!this.videoElement)return null;const t=document.createElement("canvas");t.width=this.videoElement.videoWidth,t.height=this.videoElement.videoHeight;const e=t.getContext("2d");return e?(e.drawImage(this.videoElement,0,0,t.width,t.height),e.getImageData(0,0,t.width,t.height)):null}release(){this.stream&&(this.stream.getTracks().forEach((t=>t.stop())),this.stream=null),this.videoElement&&(this.videoElement.srcObject=null,this.videoElement=null)}}class s{constructor(t={}){this.options=t,this.scanning=!1,this.scanTimer=null,this.options={scanInterval:200,...t},this.camera=new n}async start(t){try{await this.camera.initialize(t),this.scanning=!0,this.scan()}catch(t){this.options.onError&&this.options.onError(t instanceof Error?t:new Error(String(t)))}}scan(){if(!this.scanning)return;const t=this.camera.captureFrame();if(t){const n=e(t.data,t.width,t.height);n&&this.options.onScan&&this.options.onScan(n.data)}this.scanTimer=window.setTimeout((()=>this.scan()),this.options.scanInterval)}stop(){this.scanning=!1,this.scanTimer&&(clearTimeout(this.scanTimer),this.scanTimer=null),this.camera.release()}}class i{static imageDataToCanvas(t){const e=document.createElement("canvas");e.width=t.width,e.height=t.height;const n=e.getContext("2d");return n&&n.putImageData(t,0,0),e}static canvasToImageData(t){const e=t.getContext("2d");return e?e.getImageData(0,0,t.width,t.height):null}static adjustBrightnessContrast(t,e=0,n=0){const s=this.imageDataToCanvas(t),i=s.getContext("2d");if(i){const t=i.getImageData(0,0,s.width,s.height),a=t.data,o=259*(n+255)/(255*(259-n));for(let t=0;t<a.length;t+=4)a[t]=this.truncate(o*(a[t]-128)+128+e),a[t+1]=this.truncate(o*(a[t+1]-128)+128+e),a[t+2]=this.truncate(o*(a[t+2]-128)+128+e);return i.putImageData(t,0,0),t}return t}static truncate(t){return Math.min(255,Math.max(0,t))}static toGrayscale(t){const e=this.imageDataToCanvas(t),n=e.getContext("2d");if(n){const t=n.getImageData(0,0,e.width,e.height),s=t.data;for(let t=0;t<s.length;t+=4){const e=(s[t]+s[t+1]+s[t+2])/3;s[t]=e,s[t+1]=e,s[t+2]=e}return n.putImageData(t,0,0),t}return t}static resize(t,e,n){const s=document.createElement("canvas");s.width=e,s.height=n;const i=s.getContext("2d");if(i){const s=this.imageDataToCanvas(t);return i.drawImage(s,0,0,t.width,t.height,0,0,e,n),i.getImageData(0,0,e,n)}return t}}class a{constructor(t={}){this.options=t,this.scanning=!1,this.scanTimer=null,this.options={scanInterval:200,...t},this.camera=new n}async start(t){try{await this.camera.initialize(t),this.scanning=!0,this.scan()}catch(t){this.options.onError&&this.options.onError(t instanceof Error?t:new Error(String(t)))}}scan(){if(!this.scanning)return;const t=this.camera.captureFrame();if(t)try{const e=i.adjustBrightnessContrast(i.toGrayscale(t),10,20);this.detectBarcode(e)}catch(t){console.error("条形码扫描错误:",t)}this.scanTimer=window.setTimeout((()=>this.scan()),this.options.scanInterval)}detectBarcode(t){if(console.log("正在扫描条形码..."),Math.random()>.95){const t="6901234567890";this.options.onScan&&this.options.onScan(t)}}stop(){this.scanning=!1,this.scanTimer&&(clearTimeout(this.scanTimer),this.scanTimer=null),this.camera.release()}}
1
+ !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("jsqr")):"function"==typeof define&&define.amd?define(["exports","jsqr"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).IDScannerQR={},t.jsQR)}(this,(function(t,e){"use strict";class n{constructor(t={}){this.options=t,this.stream=null,this.videoElement=null,this.options={width:640,height:480,facingMode:"environment",...t}}async start(t){return this.initialize(t)}stop(){this.release()}async initialize(t){this.videoElement=t;try{const t={video:{width:{ideal:this.options.width},height:{ideal:this.options.height},facingMode:this.options.facingMode}};this.stream=await navigator.mediaDevices.getUserMedia(t),this.videoElement&&(this.videoElement.srcObject=this.stream,await new Promise((t=>{this.videoElement&&(this.videoElement.onloadedmetadata=()=>{this.videoElement&&this.videoElement.play().then((()=>t()))})})))}catch(t){throw console.error("无法访问摄像头:",t),new Error("无法访问摄像头。请确保已授予摄像头访问权限,并且摄像头未被其他应用程序占用。")}}captureFrame(){if(!this.videoElement)return null;const t=document.createElement("canvas");t.width=this.videoElement.videoWidth,t.height=this.videoElement.videoHeight;const e=t.getContext("2d");return e?(e.drawImage(this.videoElement,0,0,t.width,t.height),e.getImageData(0,0,t.width,t.height)):null}release(){this.stream&&(this.stream.getTracks().forEach((t=>t.stop())),this.stream=null),this.videoElement&&(this.videoElement.srcObject=null,this.videoElement=null)}}class a{constructor(t={}){this.options=t,this.scanning=!1,this.scanTimer=null,this.options={scanInterval:200,...t},this.camera=new n}async start(t){try{await this.camera.initialize(t),this.scanning=!0,this.scan()}catch(t){this.options.onError&&this.options.onError(t instanceof Error?t:new Error(String(t)))}}scan(){if(!this.scanning)return;const t=this.camera.captureFrame();if(t){const n=e(t.data,t.width,t.height);n&&this.options.onScan&&this.options.onScan(n.data)}this.scanTimer=window.setTimeout((()=>this.scan()),this.options.scanInterval)}stop(){this.scanning=!1,this.scanTimer&&(clearTimeout(this.scanTimer),this.scanTimer=null),this.camera.release()}}class i{static imageDataToCanvas(t){const e=document.createElement("canvas");e.width=t.width,e.height=t.height;const n=e.getContext("2d");return n&&n.putImageData(t,0,0),e}static canvasToImageData(t){const e=t.getContext("2d");return e?e.getImageData(0,0,t.width,t.height):null}static adjustBrightnessContrast(t,e=0,n=0){const a=this.imageDataToCanvas(t),i=a.getContext("2d");if(i){const t=i.getImageData(0,0,a.width,a.height),s=t.data,o=259*(n+255)/(255*(259-n));for(let t=0;t<s.length;t+=4)s[t]=this.truncate(o*(s[t]-128)+128+e),s[t+1]=this.truncate(o*(s[t+1]-128)+128+e),s[t+2]=this.truncate(o*(s[t+2]-128)+128+e);return i.putImageData(t,0,0),t}return t}static truncate(t){return Math.min(255,Math.max(0,t))}static toGrayscale(t){const e=this.imageDataToCanvas(t),n=e.getContext("2d");if(n){const t=n.getImageData(0,0,e.width,e.height),a=t.data;for(let t=0;t<a.length;t+=4){const e=(a[t]+a[t+1]+a[t+2])/3;a[t]=e,a[t+1]=e,a[t+2]=e}return n.putImageData(t,0,0),t}return t}static resize(t,e,n){const a=document.createElement("canvas");a.width=e,a.height=n;const i=a.getContext("2d");if(i){const a=this.imageDataToCanvas(t);return i.drawImage(a,0,0,t.width,t.height,0,0,e,n),i.getImageData(0,0,e,n)}return t}static downsampleForProcessing(t,e=1e3){const{width:n,height:a}=t;if(n<=e&&a<=e)return t;const i=e/Math.max(n,a),s=Math.round(n*i),o=Math.round(a*i);return this.resize(t,s,o)}static imageDataToBase64(t){return this.imageDataToCanvas(t).toDataURL("image/jpeg",.7)}static async base64ToImageData(t){return new Promise(((e,n)=>{const a=new Image;a.onload=()=>{const t=document.createElement("canvas");t.width=a.width,t.height=a.height;const i=t.getContext("2d");if(!i)return void n(new Error("无法创建Canvas上下文"));i.drawImage(a,0,0);const s=i.getImageData(0,0,t.width,t.height);e(s)},a.onerror=()=>{n(new Error("图像加载失败"))},a.src=t}))}static async processImageInParallel(t,e,n=4){if("undefined"==typeof Worker||t.width*t.height<1e5)return e(t);const a=document.createElement("canvas");a.width=t.width,a.height=t.height;const i=a.getContext("2d");if(!i)throw new Error("无法创建Canvas上下文");const s=t.width>t.height,o=Math.floor((s?t.width:t.height)/n),r=[];for(let a=0;a<n;a++){const i=document.createElement("canvas"),h=i.getContext("2d");if(!h)continue;let c;if(s){const e=a*o,s=a===n-1?t.width-e:o;i.width=s,i.height=t.height;const r=this.imageDataToCanvas(t);h.drawImage(r,e,0,s,t.height,0,0,s,t.height),c=h.getImageData(0,0,s,t.height)}else{const e=a*o,s=a===n-1?t.height-e:o;i.width=t.width,i.height=s;const r=this.imageDataToCanvas(t);h.drawImage(r,0,e,t.width,s,0,0,t.width,s),c=h.getImageData(0,0,t.width,s)}const d=`\n self.onmessage = function(e) {\n const imageData = e.data.imageData;\n const processingFunction = ${e.toString()};\n const result = processingFunction(imageData);\n self.postMessage({ result, index: e.data.index }, [result.data.buffer]);\n }\n `,l=new Blob([d],{type:"application/javascript"}),m=URL.createObjectURL(l),g=new Worker(m),u=new Promise((t=>{g.onmessage=function(e){t(e.data),g.terminate(),URL.revokeObjectURL(m)},g.postMessage({imageData:c,index:a},[c.data.buffer])}));r.push(u)}const h=await Promise.all(r);h.sort(((t,e)=>t.index-e.index));for(let t=0;t<h.length;t++){const{result:e}=h[t],n=this.imageDataToCanvas(e);if(s){const e=t*o;i.drawImage(n,e,0)}else{const e=t*o;i.drawImage(n,0,e)}}return i.getImageData(0,0,t.width,t.height)}}class s{constructor(t={}){this.options=t,this.scanning=!1,this.scanTimer=null,this.options={scanInterval:200,...t},this.camera=new n}async start(t){try{await this.camera.initialize(t),this.scanning=!0,this.scan()}catch(t){this.options.onError&&this.options.onError(t instanceof Error?t:new Error(String(t)))}}scan(){if(!this.scanning)return;const t=this.camera.captureFrame();if(t)try{const e=i.adjustBrightnessContrast(i.toGrayscale(t),10,20);this.detectBarcode(e)}catch(t){console.error("条形码扫描错误:",t)}this.scanTimer=window.setTimeout((()=>this.scan()),this.options.scanInterval)}detectBarcode(t){if(console.log("正在扫描条形码..."),Math.random()>.95){const t="6901234567890";this.options.onScan&&this.options.onScan(t)}}stop(){this.scanning=!1,this.scanTimer&&(clearTimeout(this.scanTimer),this.scanTimer=null),this.camera.release()}}
2
2
  /**
3
3
  * @file 二维码和条形码扫描模块
4
4
  * @description 包含二维码和条形码扫描功能
5
5
  * @module IDScannerQR
6
6
  * @version 1.0.0
7
7
  * @license MIT
8
- */t.BarcodeScanner=a,t.Camera=n,t.QRScanner=s,t.ScannerModule=class{constructor(t={}){this.options=t,this.scanMode=null,this.videoElement=null,this.camera=new n(t.cameraOptions),this.qrScanner=new s({...t.qrScannerOptions,onScan:this.handleQRScan.bind(this)}),this.barcodeScanner=new a({...t.barcodeScannerOptions,onScan:this.handleBarcodeScan.bind(this)})}async startQRScanner(t){this.stop(),this.videoElement=t,this.scanMode="qr",await this.camera.start(t),this.qrScanner.start(t)}async startBarcodeScanner(t){this.stop(),this.videoElement=t,this.scanMode="barcode",await this.camera.start(t),this.barcodeScanner.start(t)}stop(){"qr"===this.scanMode?this.qrScanner.stop():"barcode"===this.scanMode&&this.barcodeScanner.stop(),this.videoElement&&this.camera.stop(),this.scanMode=null}handleQRScan(t){this.options.onQRCodeScanned&&this.options.onQRCodeScanned(t)}handleBarcodeScan(t){this.options.onBarcodeScanned&&this.options.onBarcodeScanned(t)}handleError(t){this.options.onError?this.options.onError(t):console.error("ScannerModule error:",t)}}}));
8
+ */t.BarcodeScanner=s,t.Camera=n,t.QRScanner=a,t.ScannerModule=class{constructor(t={}){this.options=t,this.scanMode=null,this.videoElement=null,this.camera=new n(t.cameraOptions),this.qrScanner=new a({...t.qrScannerOptions,onScan:this.handleQRScan.bind(this)}),this.barcodeScanner=new s({...t.barcodeScannerOptions,onScan:this.handleBarcodeScan.bind(this)})}async startQRScanner(t){this.stop(),this.videoElement=t,this.scanMode="qr",await this.camera.start(t),this.qrScanner.start(t)}async startBarcodeScanner(t){this.stop(),this.videoElement=t,this.scanMode="barcode",await this.camera.start(t),this.barcodeScanner.start(t)}stop(){"qr"===this.scanMode?this.qrScanner.stop():"barcode"===this.scanMode&&this.barcodeScanner.stop(),this.videoElement&&this.camera.stop(),this.scanMode=null}handleQRScan(t){this.options.onQRCodeScanned&&this.options.onQRCodeScanned(t)}handleBarcodeScan(t){this.options.onBarcodeScanned&&this.options.onBarcodeScanned(t)}handleError(t){this.options.onError?this.options.onError(t):console.error("ScannerModule error:",t)}}}));
9
9
  //# sourceMappingURL=id-scanner-qr.min.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"id-scanner-qr.min.js","sources":["../src/utils/camera.ts","../src/scanner/qr-scanner.ts","../src/utils/image-processing.ts","../src/scanner/barcode-scanner.ts","../src/qr-module.ts"],"sourcesContent":[null,null,null,null,null],"names":["Camera","constructor","options","this","stream","videoElement","width","height","facingMode","start","initialize","stop","release","constraints","video","ideal","navigator","mediaDevices","getUserMedia","srcObject","Promise","resolve","onloadedmetadata","play","then","error","console","Error","captureFrame","canvas","document","createElement","videoWidth","videoHeight","context","getContext","drawImage","getImageData","getTracks","forEach","track","QRScanner","scanning","scanTimer","scanInterval","camera","scan","onError","String","imageData","code","jsQR","data","onScan","window","setTimeout","clearTimeout","ImageProcessor","imageDataToCanvas","ctx","putImageData","canvasToImageData","adjustBrightnessContrast","brightness","contrast","imgData","factor","i","length","truncate","value","Math","min","max","toGrayscale","avg","resize","newWidth","newHeight","tempCanvas","BarcodeScanner","enhancedImage","detectBarcode","log","random","mockResult","scanMode","cameraOptions","qrScanner","qrScannerOptions","handleQRScan","bind","barcodeScanner","barcodeScannerOptions","handleBarcodeScan","startQRScanner","startBarcodeScanner","result","onQRCodeScanned","onBarcodeScanned","handleError"],"mappings":"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"}
1
+ {"version":3,"file":"id-scanner-qr.min.js","sources":["../src/utils/camera.ts","../src/scanner/qr-scanner.ts","../src/utils/image-processing.ts","../src/scanner/barcode-scanner.ts","../src/qr-module.ts"],"sourcesContent":[null,null,null,null,null],"names":["Camera","constructor","options","this","stream","videoElement","width","height","facingMode","start","initialize","stop","release","constraints","video","ideal","navigator","mediaDevices","getUserMedia","srcObject","Promise","resolve","onloadedmetadata","play","then","error","console","Error","captureFrame","canvas","document","createElement","videoWidth","videoHeight","context","getContext","drawImage","getImageData","getTracks","forEach","track","QRScanner","scanning","scanTimer","scanInterval","camera","scan","onError","String","imageData","code","jsQR","data","onScan","window","setTimeout","clearTimeout","ImageProcessor","imageDataToCanvas","ctx","putImageData","canvasToImageData","adjustBrightnessContrast","brightness","contrast","imgData","factor","i","length","truncate","value","Math","min","max","toGrayscale","avg","resize","newWidth","newHeight","tempCanvas","downsampleForProcessing","maxDimension","scale","round","imageDataToBase64","toDataURL","base64ToImageData","base64","reject","img","Image","onload","onerror","src","processImageInParallel","processingFunction","chunks","Worker","resultCanvas","resultCtx","isWide","chunkSize","floor","promises","chunkCanvas","chunkCtx","chunkImageData","startX","startY","workerCode","toString","blob","Blob","type","workerUrl","URL","createObjectURL","worker","promise","onmessage","e","terminate","revokeObjectURL","postMessage","index","buffer","push","results","all","sort","a","b","result","BarcodeScanner","enhancedImage","detectBarcode","log","random","mockResult","scanMode","cameraOptions","qrScanner","qrScannerOptions","handleQRScan","bind","barcodeScanner","barcodeScannerOptions","handleBarcodeScan","startQRScanner","startBarcodeScanner","onQRCodeScanned","onBarcodeScanned","handleError"],"mappings":"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"}