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

时间:2015-09-16 15:38:52

标签: node-webkit

所有

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

如果用户点击并更改了图表的视觉效果,我该如何使用node-webkit截取该页面的屏幕截图以反映实时更改。

由于

1 个答案:

答案 0 :(得分:2)

我不确定截图如何有助于反映图表中的变化,但这里的功能将截取当前nw.js窗口(仅限可见区域)的屏幕截图并将其存储为一个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'} );
}