第一种方式:

1、采用第三方现有截图工具,添加dll和exe文件

2、引入需要的模块

// 快捷键模块

const { globalShortcut } = require('electron');

// 加载子进程

const { execFile } = require('child_process');

const { ipcRenderer } = require('electron');

const { ipcRenderer, remote } = require('electron');

3、实现方法

     let url = path.join(packagejson.appConfig.pdfPath,'PrScrn.exe');console.log(url);execFile(url);

第二种方式:

1、采用前端框架kscreenshot,安装

npm: npm install kscreenshot --save

2、映入模块:import kscreenshot from 'kscreenshot' ,实现代码

  new kscreenshot(  {key: 65 ,copyPath:function(base64){base64=base64.replace('data:image/png;base64,', '');var imgData = new Buffer(base64, 'base64');//Buffer编码fs.writeFile(path.resolve(packagejson.appConfig.pdfPath + 'sreen.png'), imgData, function (err) {if (err)SmartFile.log(err);});return  path.resolve(packagejson.appConfig.pdfPath + 'sreen.png');}}).startScreenShot();

原理就是插件截取返回的是base64编码,我们需将编码转成流写下来,将文件路径返回就是粘贴的图片。

5、git插件源码下载地址:https://github.com/kejiacheng/kscreenshot

关于electron的2种截图方式详解相关推荐

  1. @Resource,@Autowired,@Inject3种注入方式详解

    转载自 @Resource,@Autowired,@Inject3种注入方式详解 概况 @Resource,@Autowired,@Inject 这3种都是用来注入bean的,它们属于不同的程序中. ...

  2. PCBA加工中常见的两种焊接方式详解

    PCBA加工中常见的两种焊接方式详解 PCBA加工,两种常见的焊接方式就是回流焊和波峰焊,与手动焊接技术相比,自动焊接技术具有减少人为因素的影响.提高效率.降低成本.提高质量等优势,在PCBA加工中, ...

  3. C++的三种继承方式详解

    文章目录 @[toc] C++的三种继承方式详解以及区别 前言 一.public继承 二.protected继承 三.private继承 四.三者区别 五.总结 后话 C++的三种继承方式详解以及区别 ...

  4. JavaScript中this的五种绑定方式详解

    1 this的五种绑定方式 1.1 默认绑定 默认绑定是指当函数调用时,没有为其指定对象上下文,此时会将该函数的this绑定到全局对象(window对象).自ES5有了严格模式之后,默认绑定方式又分为 ...

  5. asp.net Session在web.config中的三种配置方式——详解

    这段代码就是设置session在web.config中的存储方式. < sessionState mode="Off|InProc|StateServer|SQLServer" ...

  6. 单例模式的几种实现方式详解以及原理

    单例模式介绍 前言 这是一个的萌新写的博客,以下是学习课程以后的总结,用于个人的复习与总结,如果有误还请多多包容和指正. 了解单例模式: 单例类只能有一个实例 单例必须创建自己的唯一一个实例 单例类必 ...

  7. oracle if=,oracle中if/else的三种实现方式详解

    1.标准sql规范 1.单个IF IF v=... THEN END IF; 2.IF ... ELSE IF v=... THEN ELSE t....; END IF; 3.多个IF IF v=. ...

  8. redis的两种持久化方式详解

    一.背景 在实际开发中,为了保证数据的完整性,防止数据丢失,我们除了在原有的传统数据库保存数据的同时,最好是再用redis持久化再保存一次数据.如果仅仅是使用redis而不进行持久化配置的话,当red ...

  9. android中几种定位方式详解

    目录 前言: 1.GPS定位 2.NETWORK定位 3.AGPS定位 4.基站定位 5.WIFI定位 6.混合定位 目前,移动端大致通过三种方式来进行设备定位:GPS.基站.wifi.本文就详细的讲 ...

最新文章

  1. svm c++实现_机器学习笔记——SVM向量机
  2. vb.net 正则 替换 第n个_Python中正则表达式模块详解
  3. 批处理之判断文件是否存在
  4. java虚拟机加载类_java虚拟机之类加载机制(一)
  5. uuid和自增_mysql表用自增id还是uuid
  6. DICOM C-GET vs C-MOVE
  7. security工作笔记008---springBoot springCloud中的security配置全解
  8. 使用 logback + slf4j 进行日志记录
  9. blocks bytes extents比较
  10. python中darks_YOLOv4: Darknet 如何于 Ubuntu 编译,及使用 Python 接口
  11. 水晶报表 php,VS2015环境下Crystal Reports(水晶报表)的安装使用
  12. python库文件简介整理
  13. linux c语言乘法口诀表好记方法,乘法口诀表好记方法
  14. CAPM资产定价模型
  15. 出击BI SAP推全新业务分析应用行业软件
  16. 这样走能实现读博梦想吗?
  17. GIS大讨论(十一):当前地理信息产业发展动向与趋势
  18. 法拉第效应维尔德常数_法拉第旋光效应实验讲义.doc
  19. 模拟信号求解相位差(2)
  20. Magicodes.IE 2.2发布

热门文章

  1. React Native 仿开眼 App
  2. AI的星辰与大海,百度的理性和感性
  3. Aspose.Words for .NET使用表格教程之应用格式(3)——使用表格样式
  4. medoo php 教程,Medoo框架操作数据库
  5. LMT下extent的分配
  6. 瑞芯微rk3568移植openbmc(二)----关于vnc h264软解码及U盘挂载和文件传输
  7. google浏览器chrome无法升级的解决方案
  8. 【Linux操作系统总结】梳理操作系统源码
  9. 肺炎在家自学C#--从入门到放弃然后又入门又放弃又入门
  10. 基于DIPUM工具箱对图书数字图像进行处理(Matlab代码实现)