出于学习目的,我正在尝试创建一个桌面吸管,但我无法弄清楚如何检索跟随光标的放大镜后面的像素的颜色。
在我的脑海中,我必须截取屏幕截图并在光标附近显示缩放和裁剪后的版本。 但如何在没有放大镜遮挡我想要的部分的情况下进行截图?
我想过在截屏的时候遮住放大镜,然后再重新显示,但对我来说似乎很不稳定。 Sip 或 Kelir 等其他工具如何做到这一点?
if (mouseCoordinates.x > offset) {
hidePreview()
const screenshot = takeScreenshot()
showPreview(screenshot, mouseCoordinates)
}
我正在尝试使用 Node.js 和 Electron 来做到这一点,但我猜平台特定的 API 对此是必要的。
这是一个设计问题而不是实现问题,因此它可以适用于任何语言或平台:我会相应地进行调整。
最佳答案
In my head, I have to take a screenshot of the screen and display a zoomed and cropped version near the cursor. But how can I take screenshots without the magnifying glass masking the part I want?
为什么显示放大镜后要截图?为什么不在显示放大镜之前截图,以后用它来裁剪和查找像素值,你只需要一张截图,所以先截图
当用户从您的应用程序中移动模糊的东西时,您必须隐藏放大镜,对吗?因此,当用户再次关注您的应用时,在显示放大镜之前再截取一张屏幕截图,这样屏幕截图始终显示屏幕的最后状态
为了捕获屏幕,您可以在 OSX 上使用 screencapture
命令,安装 shelljs
,执行命令并读取创建的屏幕截图文件
var shell = require("shelljs");
shell.exec("screencapture screenshot.png", function(){
});
关于node.js - 如何在放大镜滴管下获取像素颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48288111/