如何使用 node-webkit 截取屏幕截图

How to take screenshot with node-webkit

全部:

我构建了一个交互式图表应用程序 运行 作为 node-webkit 应用程序。我需要帮助的一件事是:

假设如果用户点击并且图表的视觉效果发生变化,我如何使用 node-webkit 截取该页面的屏幕截图以实时反映变化。

谢谢

我不确定屏幕截图将如何帮助反映图表中的变化,但这里有一个函数可以截取当前 nw.js window(仅限可见区域)的屏幕截图,并且将其存储为 png。

您需要使用 Window.capturePage 函数(此处提供更多文档:https://github.com/nwjs/nw.js/wiki/window#windowcapturepagecallback--image_format-config_object-)。

请注意,这使用 v0.9.3 中引入的 config_object 参数将格式指定为 png 并将图像返回到缓冲区中。

function takeSnapshot() {
    var gui = require('nw.gui');
    var win = gui.Window.get();

    win.capturePage(function(buffer)
    {
        require('fs').writeFile('screenshot.png', buffer, function (err) {
            if (err) throw err;
            console.log('It\'s saved!');
        });

    }, { format : 'png', datatype : 'buffer'} );
}