Improving viewer performance with static images on thumbnails
This commit is contained in:
parent
04e188df3d
commit
b51c01ca7a
@ -42,8 +42,8 @@ Template.imageThumbnail.onRendered(() => {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Disable cornerstone for thumbnail element and remove its canvas
|
// Remove previously generated static images
|
||||||
cornerstone.disable(element);
|
$element.find('.static-image').remove();
|
||||||
|
|
||||||
// Enable cornerstone for thumbnail element again creating a new canvas
|
// Enable cornerstone for thumbnail element again creating a new canvas
|
||||||
cornerstone.enable(element, { renderer: '' });
|
cornerstone.enable(element, { renderer: '' });
|
||||||
@ -55,13 +55,29 @@ Template.imageThumbnail.onRendered(() => {
|
|||||||
const loadSuccess = image => {
|
const loadSuccess = image => {
|
||||||
// Check to make sure the element is enabled.
|
// Check to make sure the element is enabled.
|
||||||
try {
|
try {
|
||||||
var enabledElement = cornerstone.getEnabledElement(element);
|
cornerstone.getEnabledElement(element);
|
||||||
} catch(error) {
|
} catch(error) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
cornerstone.displayImage(element, image);
|
cornerstone.displayImage(element, image);
|
||||||
$loading.css('display', 'none');
|
|
||||||
|
$element.one('CornerstoneImageRendered', () => {
|
||||||
|
const enabledElement = cornerstone.getEnabledElement(element);
|
||||||
|
|
||||||
|
// Create a static image from
|
||||||
|
const imageElement = document.createElement('img');
|
||||||
|
imageElement.classList.add('static-image');
|
||||||
|
const dataUrl = enabledElement.canvas.toDataURL('image/jpeg', 1);
|
||||||
|
imageElement.src = dataUrl;
|
||||||
|
|
||||||
|
// Disable cornerstone for thumbnail element and remove its canvas
|
||||||
|
cornerstone.disable(element);
|
||||||
|
|
||||||
|
$element.append(imageElement);
|
||||||
|
|
||||||
|
$loading.css('display', 'none');
|
||||||
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
// Define a handler for error on image load
|
// Define a handler for error on image load
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user