From bf199bbe389c1a8290a5cdcd9d1ee44b7210b73a Mon Sep 17 00:00:00 2001 From: mike-000 <49240900+mike-000@users.noreply.github.com> Date: Thu, 10 Feb 2022 11:40:44 +0000 Subject: [PATCH] handle WebGL layers --- src/ol/source/Raster.js | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/src/ol/source/Raster.js b/src/ol/source/Raster.js index dfe0e1df75..d4c1a0f982 100644 --- a/src/ol/source/Raster.js +++ b/src/ol/source/Raster.js @@ -917,15 +917,19 @@ function getImageData(layer, frameState) { } const container = renderer.renderFrame(frameState, null); let element; - if (container) { - element = container.firstElementChild; - } - if (!(element instanceof HTMLCanvasElement)) { - throw new Error('Unsupported rendered element: ' + element); - } - if (element.width === width && element.height === height) { - const context = element.getContext('2d'); - return context.getImageData(0, 0, width, height); + if (container instanceof HTMLCanvasElement) { + element = container; + } else { + if (container) { + element = container.firstElementChild; + } + if (!(element instanceof HTMLCanvasElement)) { + throw new Error('Unsupported rendered element: ' + element); + } + if (element.width === width && element.height === height) { + const context = element.getContext('2d'); + return context.getImageData(0, 0, width, height); + } } if (!sharedContext) {