成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

使用 Electron 創(chuàng)建屏幕截圖

AlphaGooo / 3457人閱讀

摘要:使用創(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)程: ipcMainipcRenderer.

在瀏覽器中查看 完整 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

相關(guān)文章

  • Node.js 實(shí)現(xiàn)遠(yuǎn)程桌面監(jiān)控

    摘要:描述最近使用實(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://...

    caozhijian 評論0 收藏0
  • 使用 Electron 獲取應(yīng)用和用戶系統(tǒng)信息

    摘要:使用獲取應(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. 可以 ...

    xuxueli 評論0 收藏0
  • 前端閱讀 - 收藏集 - 掘金

    摘要:實(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 ...

    lingdududu 評論0 收藏0
  • Electron入門介紹

    摘要:本文主要講解的入門??梢詭椭覀児芾戆南螺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è)更合適...

    wing324 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<