# 新版本截图操作

方法说明中并非所有的方法都会写在文档中,具体请前往相关文件查看代码逻辑。

# 文件位置

TIP

文件位于 src\modules\screen_capture\screen_capture.init.js

# 在 WEB 端调用

在 WEB 端中引用方式:

const ScreenCapture = ZxDesktop.require("ScreenCapture");
ScreenCapture.对应方法();

# 新版本截图模块的加载和初始化

目前新版本截图模块只在 Mac 上进行了加载,见 src/main.jsuseCapture 即可定位到代码

初始化:

useCapture = require("./modules/screen_capture/screen_capture.main").useCapture;
useCapture();

WEB 端的加载:

let screenshot = ZxDesktop.require("ScreenCapture");

// 截图完成的回调
let completeCallback = function (file) {
  console.log("截图的数据", file);
  setTimeout(() => {
    window.escLock = true;
    window.CaptureLock = true;
  }, 200);
  callback &&
    callback({
      state: 1,
      url: file.dataURL,
    });
};

// 截图取消的回调
let cancelCallback = function () {
  console.log("exit screenshot");
  setTimeout(() => {
    window.escLock = true;
    window.CaptureLock = true;
  }, 200);
  callback({
    state: 1,
    url: "data:image/png;base64,",
  });
};

// 注册回调事件
screenshot.setComplete(completeCallback);
screenshot.setCancel(cancelCallback);

// 开始截图
let startShot = (isHideWindow) => {
  screenshot.capture(isHideWindow);
};

// 如果处于锁定状态,不可进行重复调用和截图
if (window.CaptureLock) {
  window.CaptureLock = false;
  window.escLock = false;
  startShot(isHideApp);

  // 用于处理截图事件无效,第二次不能截图问题
  setTimeout(() => {
    window.CaptureLock = true;
  }, 2000);
}

# 方法说明

# capture(hideWindow)

开始截图

  • hideWindow 是否隐藏窗口

# setConfig(option)

option.day {Number} 日志的存储时间, 默认 7 天

  • option option.day {Number} 日志的存储时间

# set(newKey, callback)

设置截图快捷键

  • newKey 新的截图快捷键
  • callback 截图的回调

# remove(key)

移除截图快捷键

  • key 旧的截图快捷键