摘要:使用創(chuàng)建屏幕截圖此系列文章的應(yīng)用示例已發(fā)布于可以或下載后運(yùn)行查看歡迎中的模塊可用于訪問的中提供的任何媒體例如音頻視頻屏幕和窗口這個(gè)模塊有一個(gè)版本可用于這兩個(gè)進(jìn)程和在瀏覽器中查看完整文檔創(chuàng)建屏幕截圖支持進(jìn)程渲染器此示例使用模塊采集正在使
使用 Electron 創(chuàng)建屏幕截圖
此系列文章的應(yīng)用示例已發(fā)布于 GitHub: electron-api-demos-Zh_CN. 可以 Clone 或下載后運(yùn)行查看. 歡迎 Star .
Electron 中的 desktopCapturer 模塊可用于訪問 Chromium 的 getUserMedia web API 中提供的任何媒體, 例如音頻, 視頻, 屏幕和窗口.
這個(gè)模塊有一個(gè)版本可用于這兩個(gè)進(jìn)程: ipcMain 和 ipcRenderer.
在瀏覽器中查看 完整 API 文檔.
創(chuàng)建屏幕截圖支持: Win, macOS, Linux | 進(jìn)程: 渲染器
此示例使用 desktopCapturer 模塊采集正在使用的屏幕, 并創(chuàng)建全屏幕截圖.
點(diǎn)擊示例按鈕將截取當(dāng)前屏幕的截圖, 并在默認(rèn)查看器中打開它.
渲染器進(jìn)程
const electron = require("electron") const desktopCapturer = electron.desktopCapturer const electronScreen = electron.screen const shell = electron.shell const fs = require("fs") const os = require("os") const path = require("path") const screenshot = document.getElementById("screen-shot") const screenshotMsg = document.getElementById("screenshot-path") screenshot.addEventListener("click", function (event) { screenshotMsg.textContent = "正在采集屏幕..." const thumbSize = determineScreenShotSize() let options = { types: ["screen"], thumbnailSize: thumbSize } desktopCapturer.getSources(options, function (error, sources) { if (error) return console.log(error) sources.forEach(function (source) { if (source.name === "Entire screen" || source.name === "Screen 1") { const screenshotPath = path.join(os.tmpdir(), "screenshot.png") fs.writeFile(screenshotPath, source.thumbnail.toPng(), function (error) { if (error) return console.log(error) shell.openExternal("file://" + screenshotPath) const message = `截圖保存到: ${screenshotPath}` screenshotMsg.textContent = message }) } }) }) }) function determineScreenShotSize () { const screenSize = electronScreen.getPrimaryDisplay().workAreaSize const maxDimension = Math.max(screenSize.width, screenSize.height) return { width: maxDimension * window.devicePixelRatio, height: maxDimension * window.devicePixelRatio } }
如果這邊文章對您有幫助, 感謝 下方點(diǎn)贊 或 Star GitHub: electron-api-demos-Zh_CN 支持, 謝謝.
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/92374.html
摘要:描述最近使用實(shí)現(xiàn)了一個(gè)遠(yuǎn)程桌面監(jiān)控的應(yīng)用,分為服務(wù)端和客戶端,客戶端可以實(shí)時(shí)監(jiān)控服務(wù)端的桌面,并且可以通過鼠標(biāo)和鍵盤來控制服務(wù)端的桌面。接下來我們要實(shí)現(xiàn)遠(yuǎn)程控制,也就是監(jiān)聽事件,傳遞事件,執(zhí)行事件這幾部分。 描述 最近使用node實(shí)現(xiàn)了一個(gè)遠(yuǎn)程桌面監(jiān)控的應(yīng)用,分為服務(wù)端和客戶端,客戶端可以實(shí)時(shí)監(jiān)控服務(wù)端的桌面,并且可以通過鼠標(biāo)和鍵盤來控制服務(wù)端的桌面。 showImg(https://...
摘要:使用獲取應(yīng)用和用戶系統(tǒng)信息此系列文章的應(yīng)用示例已發(fā)布于可以或下載后運(yùn)行查看歡迎使用幾個(gè)和模塊您可以收集有關(guān)用戶系統(tǒng)應(yīng)用程序或屏幕的信息相關(guān)文檔的鏈接位于下面的示例中獲取應(yīng)用信息支持進(jìn)程主進(jìn)程的模塊可用于獲取應(yīng)用程序在用戶計(jì)算機(jī)上的位置 使用 Electron 獲取應(yīng)用和用戶系統(tǒng)信息 此系列文章的應(yīng)用示例已發(fā)布于 GitHub: electron-api-demos-Zh_CN. 可以 ...
摘要:實(shí)現(xiàn)不定期更新技巧前端掘金技巧,偶爾更新。統(tǒng)一播放效果實(shí)現(xiàn)打字效果動畫前端掘金前端開源項(xiàng)目周報(bào)前端掘金由出品的前端開源項(xiàng)目周報(bào)第四期來啦。 Web 推送技術(shù) - 掘金騰訊云技術(shù)社區(qū)-掘金主頁持續(xù)為大家呈現(xiàn)云計(jì)算技術(shù)文章,歡迎大家關(guān)注! 作者:villainthr 摘自 前端小吉米 伴隨著今年 Google I/O 大會的召開,一個(gè)很火的概念--Progressive Web Apps ...
摘要:本文主要講解的入門??梢詭椭覀児芾戆南螺d依賴部署發(fā)布等??梢哉J(rèn)為是中的。后續(xù)使用中,全部替換為即可。命令根據(jù)它,自動下載所需模塊用于創(chuàng)建窗口和處理系統(tǒng)事件安裝包的位置。 Electron是什么 可以認(rèn)為Electron是一種運(yùn)行環(huán)境庫,我們可以基于此,用HTML、JS和CSS寫桌面應(yīng)用。PC端的UI交互,主要有web應(yīng)用和桌面應(yīng)用。具體采用哪種方式,主要看系統(tǒng)的應(yīng)用場景,哪個(gè)更合適...
閱讀 3755·2021-11-22 13:52
閱讀 3628·2019-12-27 12:20
閱讀 2401·2019-08-30 15:55
閱讀 2154·2019-08-30 15:44
閱讀 2273·2019-08-30 13:16
閱讀 586·2019-08-28 18:19
閱讀 1893·2019-08-26 11:58
閱讀 3447·2019-08-26 11:47