我有一个three.js场景。有一些对象包括水印对象。我需要拍摄场景快照,但不应包含水印对象。但与此同时,用户不应该在屏幕上看到没有水印的场景,因此他无法截取屏幕截图。 有可能吗?怎么样? 谢谢!
答案 0 :(得分:1)
HERE是一个小提琴,展示了如何拍摄截图 HERE是在截屏之前隐藏网格的版本。
原始功能。
function takeScreenshot() {
var w = window.open('', '');
w.document.title = "Screenshot";
var img = new Image();
img.src = renderer.domElement.toDataURL();
w.document.body.appendChild(img);
}
改变隐藏网格的功能。
function takeScreenshot() {
var w = window.open('', '');
w.document.title = "Screenshot";
var img = new Image();
mesh.visible = false;
renderer.render(scene, camera);
img.src = renderer.domElement.toDataURL();
mesh.visible = true;
w.document.body.appendChild(img);
}
我只是将网格设置为visible = false,渲染场景以获取屏幕截图,然后将mesh.visible设置为true。