我在窗口中有一个非常长的页面(需要滚动查看全部),当我尝试使用下面的代码捕获整个窗口时,我得到一个压缩图像,而不是在CurrentWindow中的完整WebContent屏幕截图。
const remote = require('electron').remote;
const win = remote.getCurrentWindow();
const win_size = win.getSize();
const win_height = win_size[0];
const win_width = win_size[1];
win.capturePage({
x: 0,
y: 0,
width: win_width,
height: win_height
},
(img) => {
remote.require('fs')
.writeFile(TEMP_URL, img.toPng());
});
我也尝试过以下代码但结果是一样的,
const remote = require('electron').remote;
const webContents = remote.getCurrentWebContents();
webContents.capturePage({
x: 0,
y: 0,
width: 1000,
height: 2000
}, (img) => {
remote.require('fs')
.writeFile(TEMP_URL, img.toPng());
});
传入capturePage
方法的第一个对象应该是绑定的,但结果是输出图像的大小。
我已经检查了win_size
,它是CurrentWindow中WebContent的正确大小。
答案 0 :(得分:2)
win.getSize()
返回一个[width, height]
的数组。您将win_width
变量分配给窗口的高度,将win_height
分配给窗口的宽度。如果您更改这些值,则可能会解决您的问题。
const win_height = win_size[1];
const win_width = win_size[0];