使用electron-screenshots插件实现electron+vue3+vite项目截图功能

在这里插入图片描述

  • “electron-screenshots”: “^0.5.12”,
  • “electron”: “^18.0.3”,

vite.config.js中配置

externals: {
      "electron-screenshots": 'require("electron-screenshots")'
    },

主程序中

const { initScreenshoots } = require("./screenshoots");
app.whenReady().then(() => {
   //初始化截图工具
  initScreenshoots();
});

截图工具函数

这里为了逻辑清晰,提取到单独的js中

screenshoots.js

const { globalShortcut } = require("electron");
const Screenshots = require("electron-screenshots").default;

module.exports.initScreenshoots = () => {
  const screenshots = new Screenshots();
  globalShortcut.register("ctrl+shift+x", () => {
    screenshots.startCapture();
  });
  // 点击确定按钮回调事件
  screenshots.on("ok", (e, buffer, bounds) => {
    console.log("capture", buffer, bounds);
  });
  // 点击取消按钮回调事件
  screenshots.on("cancel", () => {
    console.log("capture", "cancel1");
  });
  screenshots.on("cancel", (e) => {
    // 执行了preventDefault
    // 点击取消不会关闭截图窗口
    e.preventDefault();
    console.log("capture", "cancel2");
  });
  // 点击保存按钮回调事件
  screenshots.on("save", (e, buffer, bounds) => {
    console.log("capture", buffer, bounds);
  });
  // esc取消
  globalShortcut.register("esc", () => {
    if (screenshots.$win?.isFocused()) {
      screenshots.endCapture();
    }
  });
};

博主开发了一个浏览器aweb123.com

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

九段刀客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值