【发布时间】:2021-02-24 04:03:30
【问题描述】:
以下是我生成屏幕截图和标记的代码
function generateSnapshotWithMarkUp(ncrNo_, luName_, keyRef_, markupsStringData) {
let screenshot = new Image();
const mimeType = 'image/png';
screenshot.onload = async function () {
const markupCore = await createdViewer.loadExtension('Autodesk.Viewing.MarkupsCore');
markupCore.show();
markupCore.loadMarkups(markupsStringData, "layer1");
let canvas = document.createElement('canvas');
canvas.width = createdViewer.container.clientWidth;
canvas.height = createdViewer.container.clientHeight;
let ctx = canvas.getContext('2d');
ctx.clearRect(0, 0, canvas.width, canvas.height);
ctx.drawImage(screenshot, 0, 0, canvas.width, canvas.height);
markupCore.renderToCanvas(ctx, function () {
// Convert canvas to Blob, then Blob to ArrayBuffer.
canvas.toBlob((blob) => {
CreateAndConnectMediaWithBlob(ncrNo_, luName_, keyRef_, blob);
markupCore.leaveEditMode();
markupCore.hide();
}, mimeType);
}, false);
};
createdViewer.getScreenShot(createdViewer.container.clientWidth, createdViewer.container.clientHeight, function (blobURL) {
screenshot.src = blobURL;
});
}
原来的标记是
但是对于我得到的屏幕截图
这是随机的,但我确实注意到有时当您移动模型(或使用“平移”移动视图)时(特别是沿 X 轴)会发生这种情况。
是我画canvas还是别的什么东西有问题吗??
【问题讨论】:
标签: autodesk-forge autodesk-viewer autodesk