要捕获您当前正在使用的屏幕,使用打印屏幕按键无法以高分辨率拍摄屏幕截图. BabylonJS提供了创建屏幕截图API,有助于这样做.它将文件保存为png格式,并且不会牺牲图像的质量.
语法
要截取我们需要提供的屏幕截图引擎,相机和大小如下所示.
BABYLON.Tools.CreateScreenshot(engine, camera, { width: 1024, height: 300 }, function (data) { var img = document.createElement("img"); img.src = data; document.body.appendChild(img);});
当用户点击它时调用屏幕截图API的按钮被放置.
更改是传递给截图api的引擎.
var engine = new BABYLON.Engine(canvas, true, { preserveDrawingBuffer: true, stencil: true });
它需要 preserveDrawingBuffer 和模具等选项设置为true.
按钮添加如下 :
ssButton = document.createElement("input");document.body.appendChild (ssButton);
点击事件被添加到上面的按钮,并调用 createscreenshot .它将更新屏幕末尾的屏幕截图.用于图像src的数据具有创建的屏幕截图URL.
演示
BabylonJs - Basic Element-Creating Scene
输出
在这个演示中,我们使用了图像 mat.jpg,rugby.jpg, cone.jpg,board.jpg,ring.jpg,d1.png,diamond.jpg .图像存储在本地的图像/文件夹中,也粘贴在下面以供参考.您可以下载任何您选择的图像并在演示链接中使用.
Images/mat.jpg
Images/rugby.jpg
Images/cone.jpg
Images/board.jpg
Images/ring.jpg
Images/d1.png