前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >[OHIF-Viewers]医疗数字阅片-医学影像-数字胶片直接下载,不再弹窗进行设置

[OHIF-Viewers]医疗数字阅片-医学影像-数字胶片直接下载,不再弹窗进行设置

作者头像
landv
发布2020-07-14 10:11:30
5510
发布2020-07-14 10:11:30
举报
文章被收录于专栏:landvlandv

[OHIF-Viewers]医疗数字阅片-医学影像-数字胶片直接下载,不再弹窗进行设置

直接下载解决方案

\Viewers\extensions\cornerstone\src\commandsModule.js

代码语言:javascript
复制
     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');

 <div className={"cornerstone-canvas-nn"} style={{position: 'absolute',left: '9999px'}}>  </div>

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-07-12 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • [OHIF-Viewers]医疗数字阅片-医学影像-数字胶片直接下载,不再弹窗进行设置
    • 直接下载解决方案
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档