微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何获得没有标记的forgeviewer快照

如何解决如何获得没有标记的forgeviewer快照

如何获取查看器的快照并将其另存为图像?

谢谢

解决方法

这可以通过组合renderToCanvas扩展名的Viewer3D#getScreenShot方法和Autodesk.Viewing.MarkupsCore方法来完成,就像这样:

async function getScreenshotDataUrl(viewer,width,height) {
  const markupExt = await viewer.getExtension('Autodesk.Viewing.MarkupsCore');
  return new Promise(function (resolve,reject) {
    const canvas = document.createElement('canvas');
    canvas.width = width;
    canvas.height = height;
    const context = canvas.getContext('2d');
    const image = new Image();
    image.onload = function () {
      context.drawImage(image,0);
      markupExt.renderToCanvas(context,function () {
        resolve(canvas.toDataURL('image/png'));
      });
    };
    viewer.getScreenShot(width,height,blob => image.src = blob);
  });
}

这是一个演示上面的代码的https://codepen.io/petrbroz/pen/gOMPYRV?editors=0010

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。