diff --git a/src/display/canvas.js b/src/display/canvas.js index 098741ce9..a7b16572f 100644 --- a/src/display/canvas.js +++ b/src/display/canvas.js @@ -586,7 +586,7 @@ class CanvasExtraState { } function putBinaryImageData(ctx, imgData) { - if (typeof ImageData !== "undefined" && imgData instanceof ImageData) { + if (imgData instanceof ImageData) { ctx.putImageData(imgData, 0, 0); return; } diff --git a/src/display/node_utils.js b/src/display/node_utils.js index 6518e32d9..4edd7bb3a 100644 --- a/src/display/node_utils.js +++ b/src/display/node_utils.js @@ -51,6 +51,13 @@ if ( warn("Cannot polyfill `DOMMatrix`, rendering may be broken."); } } + if (!globalThis.ImageData) { + if (canvas?.ImageData) { + globalThis.ImageData = canvas.ImageData; + } else { + warn("Cannot polyfill `ImageData`, rendering may be broken."); + } + } if (!globalThis.Path2D) { if (canvas?.Path2D) { globalThis.Path2D = canvas.Path2D;