mirror of
https://github.com/fofolee/uTools-quickcommand.git
synced 2025-09-23 20:44:42 +08:00
补全屏幕截图、屏幕取色、获取显示器信息、剪贴板操作
This commit is contained in:
@@ -1,10 +1,13 @@
|
||||
const { findImage } = require("./imageFinder");
|
||||
const { captureScreen } = require("./screenCapture");
|
||||
const { keyboardTap, keySequence } = require("./keyboardTap");
|
||||
const { screenColorPick } = require("./screenColorPick");
|
||||
const screenCapture = require("./screenCapture");
|
||||
|
||||
module.exports = {
|
||||
findImage,
|
||||
captureScreen,
|
||||
screenCapture,
|
||||
keyboardTap,
|
||||
keySequence,
|
||||
screenColorPick,
|
||||
...screenCapture,
|
||||
};
|
||||
|
@@ -187,7 +187,7 @@ async function captureLinuxScreen() {
|
||||
}
|
||||
|
||||
// 统一的截图接口
|
||||
async function captureScreen() {
|
||||
async function captureFullScreen() {
|
||||
try {
|
||||
if (process.platform === "darwin") {
|
||||
return await captureMacScreen();
|
||||
@@ -202,4 +202,41 @@ async function captureScreen() {
|
||||
return null;
|
||||
}
|
||||
|
||||
module.exports = { captureScreen };
|
||||
function captureAreaScreen() {
|
||||
return new Promise((resolve) => {
|
||||
window.utools.screenCapture((data) => {
|
||||
resolve(data);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
async function captureScreen(range = "fullscreen") {
|
||||
return range === "fullscreen"
|
||||
? await captureFullScreen()
|
||||
: await captureAreaScreen();
|
||||
}
|
||||
|
||||
async function captureScreenToFile(range = "fullscreen", path = null) {
|
||||
if (!path) return null;
|
||||
const result = await captureScreen(range);
|
||||
if (!result) return null;
|
||||
fs.writeFileSync(
|
||||
path,
|
||||
result.replace("data:image/png;base64,", ""),
|
||||
"base64"
|
||||
);
|
||||
return result;
|
||||
}
|
||||
|
||||
async function captureScreenToClipboard(range = "fullscreen") {
|
||||
const result = await captureScreen(range);
|
||||
if (!result) return null;
|
||||
window.utools.copyImage(result);
|
||||
return result;
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
captureScreen,
|
||||
captureScreenToFile,
|
||||
captureScreenToClipboard,
|
||||
};
|
||||
|
11
plugin/lib/quickcomposer/simulate/screenColorPick.js
Normal file
11
plugin/lib/quickcomposer/simulate/screenColorPick.js
Normal file
@@ -0,0 +1,11 @@
|
||||
const screenColorPick = () => {
|
||||
return new Promise((resolve) => {
|
||||
utools.screenColorPick((color) => {
|
||||
resolve(color);
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
module.exports = {
|
||||
screenColorPick,
|
||||
};
|
Reference in New Issue
Block a user