# 新版本截图操作
方法说明中并非所有的方法都会写在文档中,具体请前往相关文件查看代码逻辑。
# 文件位置
TIP
文件位于 src\modules\screen_capture\screen_capture.init.js
# 在 WEB 端调用
在 WEB 端中引用方式:
const ScreenCapture = ZxDesktop.require("ScreenCapture");
ScreenCapture.对应方法();
# 新版本截图模块的加载和初始化
目前新版本截图模块只在 Mac 上进行了加载,见 src/main.js
搜 useCapture
即可定位到代码
初始化:
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
旧的截图快捷键