Skip to content
Snippets Groups Projects
Commit 96d75b3c authored by Reiter, Christoph's avatar Reiter, Christoph :snake:
Browse files

Only extract the image data when we need it

parent 67777ef1
No related branches found
No related tags found
No related merge requests found
Pipeline #13636 passed
...@@ -259,11 +259,10 @@ export class QrCodeScanner extends ScopedElementsMixin(DBPLitElement) { ...@@ -259,11 +259,10 @@ export class QrCodeScanner extends ScopedElementsMixin(DBPLitElement) {
canvasElement.width = video.videoWidth; canvasElement.width = video.videoWidth;
canvas.drawImage(video, 0, 0, canvasElement.width, canvasElement.height); canvas.drawImage(video, 0, 0, canvasElement.width, canvasElement.height);
let maskWidth = 0; let maskWidth = canvasElement.width;
let maskHeight = 0; let maskHeight = canvasElement.height;
let maskStartX = canvasElement.width; let maskStartX = 0;
let maskStartY = canvasElement.height; let maskStartY = 0;
let imageData;
if (that.clipMask) { if (that.clipMask) {
//draw mask //draw mask
...@@ -299,10 +298,6 @@ export class QrCodeScanner extends ScopedElementsMixin(DBPLitElement) { ...@@ -299,10 +298,6 @@ export class QrCodeScanner extends ScopedElementsMixin(DBPLitElement) {
canvas.rect(maskStartX + clip - 10, maskStartY + clip/3*2, 10, clip/3); canvas.rect(maskStartX + clip - 10, maskStartY + clip/3*2, 10, clip/3);
canvas.fill(); canvas.fill();
imageData = canvas.getImageData(maskStartX , maskStartY, maskWidth, maskHeight);
} else {
imageData = canvas.getImageData(0 , 0, canvasElement.width, canvasElement.height);
} }
let code = null; let code = null;
...@@ -310,6 +305,7 @@ export class QrCodeScanner extends ScopedElementsMixin(DBPLitElement) { ...@@ -310,6 +305,7 @@ export class QrCodeScanner extends ScopedElementsMixin(DBPLitElement) {
let shouldAnalyze = Math.abs(lastVideoScanTime - video.currentTime) >= 1/3; let shouldAnalyze = Math.abs(lastVideoScanTime - video.currentTime) >= 1/3;
if (shouldAnalyze) { if (shouldAnalyze) {
lastVideoScanTime = video.currentTime; lastVideoScanTime = video.currentTime;
let imageData = canvas.getImageData(maskStartX, maskStartY, maskWidth, maskHeight);
code = jsQR(imageData.data, imageData.width, imageData.height, { code = jsQR(imageData.data, imageData.width, imageData.height, {
inversionAttempts: "dontInvert", inversionAttempts: "dontInvert",
}); });
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment