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

Autodesk Forge Viewer getScreenshot 方法

如何解决Autodesk Forge Viewer getScreenshot 方法

我试图从我的伪造查看器中生成一个具有明确宽度和高度的屏幕截图。 我正在使用这种方法

this.viewer.getScreenShot(
            this.width,this.height,img => this.createPDF(img));
    }

如果我的高度值是完整的画布高度,我可以计算一个宽度值以适应特定的纵横比,例如 1:2。 如果我想计算我的高度值以匹配 16:9 之类的东西,无论我的 this.height 值是多少,我总是会得到完整的画布高度,并且我的屏幕截图宽度将更改为与 16:9 纵横比匹配的值。我不知道我是否遗漏了什么或做错了什么,或者这是伪造查看器实现的一个功能。有了这种行为,我不可能仅从我的画布上制作 16:9 的屏幕截图,仅此而已。我的实际目标是将一帧渲染到我的查看器画布中以查看纵横比并在多个之间切换。我能够根据比率和 clientToWorld 坐标渲染此帧,但我的屏幕截图只是扩展到全高大小。也许你们知道这个问题的解决方案。 谢谢,JT

解决方法

您是否正在尝试将图像crop 调整为特定的纵横比?或者把它拉伸到那个程度?

getScreenShot() 的作用就像是创建一个具有给定尺寸的查看器,然后对其进行快照。因此,您不受当前查看器尺寸的限制,甚至可以创建比用户当前看到的质量更高的图像。 例如。无论查看器大小如何,我都可以创建1600x900px png。

如果您没有为 blob 传入第三个参数,则生成的图像将在另一个浏览器选项卡中弹出。您可以通过 NOP_VIEWER 在使用 查看器 的任何网站上的浏览器控制台中测试内容,例如这样做:

cy.clearCookies()

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