如何将光标包含在通过Electron的capturePage API捕获的页面截图中?

时间:2019-05-14 15:50:52

标签: electron

我正试图通过调用webview'webContents方法来捕获capturePage的屏幕截图。我以为光标会包含在屏幕截图中,但事实并非如此。

关于如何最好地实现将光标包含在通过capturePage调用获取的屏幕截图中的任何想法?

1 个答案:

答案 0 :(得分:1)

TL; DR: webContents.capturePage ()将不包含光标,因为屏幕截图不是在操作系统级别上制作的。

Electron在Chromium渲染后立即截取屏幕截图,这也是为什么函数的rect属性不能大于窗口内部宽度和高度(即窗口装饰,例如标题栏等)的原因。 ,不能包含在屏幕截图中。

Electron要做的是获取二进制图像数据,该数据将输出到计算机的图形处理器(进而输出到显示器),并将其写入PNG或JPEG文件。

包括特定于操作系统的元素(例如光标或窗口装饰)将涉及特定于平台的方法(因为在Linux,Windows和Mac OS中没有统一的API来截取屏幕截图),这会(可能)产生更多的依赖关系和更多的噪音。 Chromium引擎完成的渲染与平台无关,因此是一种更简便的方法。