Workaround for raster source

This commit is contained in:
Tim Schaub
2018-11-13 16:11:11 +01:00
parent c612cce591
commit f416cf742d
2 changed files with 14 additions and 4 deletions

View File

@@ -441,6 +441,15 @@ function getImageData(renderer, frameState, layerState) {
}
const width = frameState.size[0];
const height = frameState.size[1];
const element = renderer.renderFrame(frameState, layerState);
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) {
sharedContext = createCanvasContext2D(width, height);
} else {
@@ -451,7 +460,7 @@ function getImageData(renderer, frameState, layerState) {
sharedContext.clearRect(0, 0, width, height);
}
}
renderer.composeFrame(frameState, layerState, sharedContext);
sharedContext.drawImage(element, 0, 0, width, height);
return sharedContext.getImageData(0, 0, width, height);
}