Avoid creating context until needed

This commit is contained in:
Tim Schaub
2021-07-19 09:06:54 -06:00
parent 58b7faed55
commit adff6f0e77
+9 -5
View File
@@ -24,7 +24,8 @@ try {
hasImageData = false; hasImageData = false;
} }
const context = document.createElement('canvas').getContext('2d'); /** @type {CanvasRenderingContext2D} */
let context;
/** /**
* @param {Uint8ClampedArray} data Image data. * @param {Uint8ClampedArray} data Image data.
@@ -35,11 +36,14 @@ const context = document.createElement('canvas').getContext('2d');
export function newImageData(data, width, height) { export function newImageData(data, width, height) {
if (hasImageData) { if (hasImageData) {
return new ImageData(data, width, height); return new ImageData(data, width, height);
} else {
const imageData = context.createImageData(width, height);
imageData.data.set(data);
return imageData;
} }
if (!context) {
context = document.createElement('canvas').getContext('2d');
}
const imageData = context.createImageData(width, height);
imageData.data.set(data);
return imageData;
} }
/* istanbul ignore next */ /* istanbul ignore next */