Mam naprawdę długą stronę wewnątrz okna (trzeba przewijać, aby wyświetlić wszystkie), gdy próbuję uchwycić całe okno za pomocą poniższego kodu, otrzymuję ściśnięty obraz zamiast pełnego WebContent zrzut ekranu wewnątrz CurrentWindow.Jak przechwytywać całą zawartość WebContent wewnątrz CurrentWindow
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());
});
Próbowałem również następujący kod, ale wynik jest taki sam,
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());
});
Pierwszy obiekt przekazany do capturePage
metody powinny być związany, ale okazuje się rozmiar wyjściowego obrazu.
Sprawdziłem win_size
, który jest prawidłowym rozmiarem WebContent w CurrentWindow.
Okazuje się, że jest to błąd, https://github.com/electron/electron/issues/8586#event-954437220 –
Take granice inaczej, to strata będzie i tak. –