From 3c1e4c51cdf8d635cfb293c37c8a4c17aa087772 Mon Sep 17 00:00:00 2001 From: Evren Ozkan Date: Fri, 23 Feb 2018 11:57:01 -0500 Subject: [PATCH] Wait for the cornerstone tools to handle CornerstoneImageRendered event to capture the rendered image on the download dialog --- .../viewer/downloadDialog/downloadDialog.js | 35 ++++++++++--------- 1 file changed, 19 insertions(+), 16 deletions(-) diff --git a/Packages/ohif-viewerbase/client/components/viewer/downloadDialog/downloadDialog.js b/Packages/ohif-viewerbase/client/components/viewer/downloadDialog/downloadDialog.js index 0804ff759..2263c025e 100644 --- a/Packages/ohif-viewerbase/client/components/viewer/downloadDialog/downloadDialog.js +++ b/Packages/ohif-viewerbase/client/components/viewer/downloadDialog/downloadDialog.js @@ -80,24 +80,27 @@ Template.imageDownloadDialog.onRendered(() => { instance.updateViewportPreview = () => { instance.$viewportElement.one('CornerstoneImageRendered', (event, enabledElement) => { - const formData = instance.form.value(); - const image = instance.viewportPreview; - const type = 'image/' + formData.type; - const quality = formData.type === 'png' ? 1 : formData.quality / 100; - const dataUrl = instance.downloadCanvas.toDataURL(type, quality); - image.src = dataUrl; + // Wait for the tools to handle CornerstoneImageRendered event + Tracker.afterFlush(() => { + const formData = instance.form.value(); + const image = instance.viewportPreview; + const type = 'image/' + formData.type; + const quality = formData.type === 'png' ? 1 : formData.quality / 100; + const dataUrl = instance.downloadCanvas.toDataURL(type, quality); + image.src = dataUrl; - const $element = $(enabledElement.element); - let width = $element.width(); - let height = $element.height(); - if (width > 512 || height > 512) { - const multiplier = 512 / Math.max(width, height); - height *= multiplier; - width *= multiplier; - } + const $element = $(enabledElement.element); + let width = $element.width(); + let height = $element.height(); + if (width > 512 || height > 512) { + const multiplier = 512 / Math.max(width, height); + height *= multiplier; + width *= multiplier; + } - image.width = width; - image.height = height; + image.width = width; + image.height = height; + }); }); };