在electron中实现截图有以下几种方法,接下来文章主要介绍的是第三种,也是我实际用的有一定开发成本但是很简单:

1.通过外部的工具进行截图;优点:代码逻辑少,基本没有开发成本;缺点:工具不好找,无法自定义工具栏样式,因为底层封装好的没法改css。

2.创建新窗口,用canvas绘制画布,进行截图,一一实现工具栏每个功能;优点:自已动手,相当灵活;缺点:代码多难写。

3.先截一张全屏的图,然后新建一个窗口将截好的图作为这个窗口页面的背景图片,通过前端的方法(有依赖)对这个页面进行页面的截图;优点:代码简单,因为截图依赖是前端的可以修改css,包括工具栏小图标之类的;缺点:由于实际先进行了一次截图并且加载到页面背景图片,所以有一定延迟。

思路:

1.通过desktopCapturer进行桌面截图,将图片放到指定目录;

2.打开新窗口,加载指定目录图片作为整个窗口页面背景,新窗口设置最大宽高,不可缩放,并且要覆盖windows底部任务栏。

3.图片加载好后通过前端依赖js-web-screen-shot对页面进行截图,记得要等图片加载好后调用截图方法不然截的就是空白的,这个依赖有确认取消回调,回调里面关闭窗口,关闭窗口时记得检查里面有没有进行监听的一些方法,记得移除,不然会报主进程的错误。

4.截图好之后记得将第一步生成的图片删掉,不然会占据空间。

5.此时图片就截好了,可以到qq或者微信的输入框或者富文本里面粘贴一下,看看效果,如果要在自己的项目里面显示的话还需要封装输入框,封装输入框的话会在之后的文章讲到。

具体的代码会在下一篇文章贴出来以及讲解,也会发布在我的微信公众号:程序猿wwtx。

electron实现截图(一)相关推荐

  1. electron 剪贴板 截图_electron屏幕截图功能

    使用electron开发桌面应用,难免会遇到需要截图的功能,通常来说在electron中截图的方式有三种: 一.使用内置API(desktopCapturer)进行截图 首先引入desktopCapt ...

  2. electron 剪贴板 截图_用electron开发了一个屏幕截图工具

    前段时间做了一个钉钉的Linux版本,由于是基于网页版做的,所以缺失了很多桌面应用程序的功能.由于使用的用户多是Linux的用户,所以在Linux的截图功能没有,在几个用户的要求下决定做一个截图功能. ...

  3. electron 实现截图功能

    实现方式:引入第三方exe,然后调用. 创建一个新的electron项目,把下方代码复制带main.js // Modules to control application life and crea ...

  4. 使用 Vue 和 Electron 开发一款简单的 Markdown 编辑器

    2021SC@SDUSC 本文并不涉及自己设计一套 Markdown 渲染组件的部分,Markdown 渲染组件可通过 marked 和 highlight.js 自行实现.但本文重点在于如何使用 E ...

  5. android仿微信图片编辑器,electron/vue可编辑框contenteditable|仿微信截图

    基于Electron+vue实现div可编辑contenteditable插入表情|electron-vue截图功能 为了避免使用 vue 手动建立起 electron 应用程序.electron-v ...

  6. electron仿微信截图工具(初学者的尝试笔记)

    刚刚学习election,心血来潮做些小工具,工具包含常用的矩形.椭圆框线,箭头绘制,笔刷以及文字. 支持框选截图范围后拖动以及裁剪. 大多都是查找网上大佬提供的思路,其中箭头绘制来自大佬代码魔改如何 ...

  7. 关于electron的2种截图方式详解

    第一种方式: 1.采用第三方现有截图工具,添加dll和exe文件 2.引入需要的模块 // 快捷键模块 const { globalShortcut } = require('electron'); ...

  8. Electron 截图踩坑和优化集合

    上一篇文章<从零开始用 electron 手撸一个截屏工具>发布之后发现阅读的朋友还不少,不过工具真正使用的时候就发现了问题,所以为了让我们的截图工具更好用,就又做了很多优化,当然了也遇到 ...

  9. JS可以写操作系统?Windows 95被装进Electron App

    什么是Windows 95? \\ 这个Windows 95是微软的那个操作系统吗?可以说是,也可以说不是.它实际上是一个Electron app,可以运行在Windows.macOS和Linux上. ...

最新文章

  1. magicbook大学计算机系,大学生不知道买什么电脑?来看看荣耀MagicBook 14锐龙版!...
  2. 微型计算机怎么插耳机,让听音更轻松一些,朗琴E10真无线耳机
  3. spring3 常见异常解决
  4. python程序打包时出现lib not found_pyinstaller打包py脚本Warning:lib not found等相关问题...
  5. FFmpeg在Ubuntu的安装以及教程~~~
  6. Codeforces 1103 E. Radix sum
  7. 数据库管理软件SQLPro for SQLite for Mac 2022.30
  8. EChart:EChart与NProgress结合异步加载数据
  9. 【MCM-2017】2017年数模美赛D题 - 特奖论文学习
  10. JAVA实现网页版斗地主_Java实现斗地主最简代码实例
  11. 单片机c语言入门 龙脉工作室著,单片机c语言入门
  12. win7计算机怎么录屏,Win7系统屏幕录制功能在哪里?Win7系统屏幕录制功能的使用教程...
  13. 计算机桌面为什么没有语言栏了,语言栏不见了怎么办,教您语言栏不见了怎么办...
  14. Spring Boot cache backed guava/caffeine
  15. HTML基础---01
  16. 关于fi dd ler 手机抓包 网卡地址地址_超详细的网络抓包神器 tcpdump 使用指南
  17. JAVA--异常 throwable
  18. Error while executing topic command : replication factor: 3 larger than available brokers: 0
  19. JSON反序列化失败:although at least one Creator exists): can only instantiate non-static inner class by usi
  20. spring占位符无法替换的报错排查

热门文章

  1. 现代软件工程第二次作业-github初使用及CanTool需求文档
  2. 基础算法:求101-200之间的素数
  3. 天若OCR文字识别V4.48
  4. 用计算机求导,求导公式?
  5. 2021消防设施操作员(中级)岗位考试模拟题库判断自动系统知识部分
  6. 惠普微型计算机怎么装机,惠普台式机怎么用u盘重装系统步骤
  7. 初步理解 Graph Convolutional Network(GCN)
  8. ORACLE数据库备份方法
  9. 全球及中国工业级脱脂毛巾行业销售前景与渠道模式分析报告2022版
  10. 集成式电子液压制动系统液压力变结构控制