[OHIF-Viewers]醫療數字閱片-醫學影像-數字膠片直接下載,不再彈窗進行設定
阿新 • • 發佈:2020-07-13
[OHIF-Viewers]醫療數字閱片-醫學影像-數字膠片直接下載,不再彈窗進行設定
showDownloadViewportModal: ({ viewports }) => { // 改變尺寸 function doResize(width, height,el) { if (width < 100) width = 100 if (height < 100) height= 100 el.style.width = width + 'px'; el.style.height = height + 'px'; cornerstone.resize(el); } const activeViewportIndex = viewports.activeViewportIndex; const activeViewport = getEnabledElement(activeViewportIndex); const enabledElement = cornerstone.getEnabledElement(activeViewport);const viewport = Object.assign({}, enabledElement.viewport); delete viewport.scale; viewport.translation = { x: 0, y: 0, }; const viewportElement = document.querySelector(".cornerstone-canvas-nn"); cornerstone.enable(viewportElement); // 初始化 // 插入資料cornerstone.loadAndCacheImage(enabledElement.image.imageId).then(function(image) { cornerstone.displayImage(viewportElement, image); //插入圖片 cornerstone.setViewport(viewportElement, viewport);//設定檢視,設定現在顯示的狀態,如旋轉等 cornerstone.resize(viewportElement, true);//先自適應調整一次,保證檢視完整 }); //插入資料後,再執行尺寸的改變 doResize(512,512,viewportElement) // 改變尺寸 console.log(viewportElement); //延時 setTimeout(function () { // alert('VIDEO HAS STOPPED'); console.log("延遲執行"); console.log(viewportElement.querySelector('canvas').toDataURL()); // 列印資料 // console.log(document.querySelector("#root > div.FlexboxLayout > div.main-content > div > div > div > div.cornerstone-canvas-nn > canvas").toDataURL()); //絕對地址定位 viewportElement.querySelector('canvas').toBlob(blob => { const URLObj = window.URL || window.webkitURL; const a = document.createElement('a'); a.href = URLObj.createObjectURL(blob); a.download = 'imgs.jpg'; document.body.appendChild(a); a.click(); document.body.removeChild(a); }); cornerstone.invalidate(viewportElement); // 刪除el,一定要刪除,不然連續下載,因為原始尺寸會產生插入資料不完整 }, 500); },
Viewers\extensions\cornerstone\src\OHIFCornerstoneViewport.js
此位置新增cornerstone-canvas-nn標籤
測試過動態建立標籤,但無法渲染出資料。document.createElement('div');