electron shortcut capture plugin(electron 截图模块插件)。注意:1.1.x和1.0.x版本有API的改动,所以会有不兼容的地方,请参考API,1.1.x主要支持了窗口关闭不能结束应用的问题。参考nashaofu#4和nashaofu#7
![NPM](https://camo.githubusercontent.com/c10cfa11e8fba05aa5b66ac8415aed23ff5bcf1bd6124a9e44b270ccd64690a6/68747470733a2f2f6e6f6465692e636f2f6e706d2f73686f72746375742d636170747572652e706e673f646f776e6c6f6164733d7472756526646f776e6c6f616452616e6b3d747275652673746172733d74727565)
import { app, globalShortcut } from 'electron'
import ShortcutCapture from 'shortcut-capture'
app.on('ready', () => {
// 必须在ready之后初始化,否者会报错
const shortcutCapture = new ShortcutCapture()
globalShortcut.register('ctrl+alt+a', () => shortcutCapture.shortcutCapture())
console.log(shortcutCapture)
// 拿取截图后返回信息
shortcutCapture.on('capture', ({ dataURL, bounds }) => console.log(dataURL, bounds))
})
app.on('window-all-closed', () => {
if (process.platform !== 'darwin') {
app.quit()
}
})
new ShortcutCapture({
dirname: string,
isUseClipboard: true
})
名称 |
类型 |
说明 |
默认值 |
dirname |
string |
本插件所在文件夹,目的是使得插件能够正确引用资源,如窗口界面 |
path.join(app.getAppPath(), 'node_modules/shortcut-capture') |
isUseClipboard |
boolean |
是否使用剪切板,即是否把图片资源写入剪切板 |
true |
名称 |
说明 |
参数 |
返回值 |
shortcutCapture |
调用截图方法直接截图 |
- |
- |
名称 |
说明 |
回调参数 |
capture |
截图确认后后调 |
dataURL -图片资源, bounds -截图区域信息 |
![screenshot](./screenshot.png)
- 高分屏作为主显示器是截图质量很低,以低分屏作为主显示器时,截图效果较为理想