您的位置:首页 > 其它

Electron使用指南——获得屏幕快照

2020-09-01 14:21 871 查看

1、完善主进程处理

从渲染进程中拿到 

url
 后,通过 
offscreen
 获取屏幕快照。 在项目根目录下,创建 
readItem.js

[code]// /readItems

// Modules
const {BrowserWindow} = require('electron')

// Offscreen BrowserWindow
let offscreenWindow

// Exported readItem function
module.exports = (url, callback) => {

// Create offscreen window
offscreenWindow = new BrowserWindow({
width: 500,
height: 500,
show: false,
webPreferences: {
offscreen: true
}
})

// Load item url
offscreenWindow.loadURL(url)

// Wait for content to finish loading
offscreenWindow.webContents.on('did-finish-load', e => {

// Get page title
let title = offscreenWindow.getTitle()

// Get screenshot (thumbnail)
offscreenWindow.webContents.capturePage( image => {

// Get image as dataURL
let screenshot = image.toDataURL()

// Execute callback with new item object
callback({ title, screenshot, url })

// Clean up
offscreenWindow.close()
offscreenWindow = null
})
})
}

2、更新 main.js

在 

/main.js
 文件里添加对 
readItem.js
 的引用:

[code]// Modules
// ...
const readItem = require('./readItem')

// ...

// Listen for new item request
ipcMain.on('new-item', (e, itemUrl) => {

// remove all codes here.

// Get new item and send back to renderer
readItem( itemUrl, item => {
e.sender.send('new-item-success', item)
})
})
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: