diff --git a/src/rendering/renderColorImage.js b/src/rendering/renderColorImage.js index 702b5eda..aa169803 100644 --- a/src/rendering/renderColorImage.js +++ b/src/rendering/renderColorImage.js @@ -27,7 +27,9 @@ function getLut (image, viewport) { } function getRenderCanvas (enabledElement, image, invalidated) { - if (!enabledElement.renderingTools.renderCanvas) { + const canvasWasColor = enabledElement.renderingTools.lastRenderedIsColor === true; + + if (!enabledElement.renderingTools.renderCanvas || !canvasWasColor) { enabledElement.renderingTools.renderCanvas = document.createElement('canvas'); } diff --git a/src/rendering/renderGrayscaleImage.js b/src/rendering/renderGrayscaleImage.js index fc36e4bc..59b0808a 100644 --- a/src/rendering/renderGrayscaleImage.js +++ b/src/rendering/renderGrayscaleImage.js @@ -9,7 +9,9 @@ import initializeRenderCanvas from './initializeRenderCanvas.js'; import saveLastRendered from './saveLastRendered.js'; function getRenderCanvas (enabledElement, image, invalidated, useAlphaChannel = true) { - if (!enabledElement.renderingTools.renderCanvas) { + const canvasWasColor = enabledElement.renderingTools.lastRenderedIsColor === true; + + if (!enabledElement.renderingTools.renderCanvas || canvasWasColor) { enabledElement.renderingTools.renderCanvas = document.createElement('canvas'); } diff --git a/src/rendering/saveLastRendered.js b/src/rendering/saveLastRendered.js index 42c6f364..a41d3aa6 100644 --- a/src/rendering/saveLastRendered.js +++ b/src/rendering/saveLastRendered.js @@ -1,8 +1,10 @@ export default function (enabledElement) { const imageId = enabledElement.image.imageId; const viewport = enabledElement.viewport; + const isColor = enabledElement.image.color; enabledElement.renderingTools.lastRenderedImageId = imageId; + enabledElement.renderingTools.lastRenderedIsColor = isColor; enabledElement.renderingTools.lastRenderedViewport = { windowCenter: viewport.voi.windowCenter, windowWidth: viewport.voi.windowWidth,