如何在放大镜吸管下获得像素颜色?

时间:2018-01-16 19:00:47

标签: node.js windows macos electron

出于学习目的,我尝试创建桌面吸管,但我无法弄清楚如何在光标后面检查放大镜后面像素的颜色。

Pixelmator magnifying glass

在我脑海中,我必须截取屏幕截图并在光标附近显示缩放和裁剪版本。 但是如果没有放大镜遮住我想要的部分,我该如何拍摄截图?

当我拍摄屏幕截图然后再次重新显示时,我想要屏蔽放大镜,但对我来说这似乎很不稳定。 Sip或Kelir等其他工具如何做到这一点?

if (mouseCoordinates.x > offset) {
  hidePreview()
  const screenshot = takeScreenshot()
  showPreview(screenshot, mouseCoordinates)
}

我试图用Node.js和Electron做到这一点,但我猜测平台特定的API是必要的。

这是设计而非实施的问题,因此可以使用任何语言或平台:我会相应地进行调整。

1 个答案:

答案 0 :(得分:1)

  

在我脑海中,我必须截取屏幕截图并在光标附近显示缩放和裁剪版本。但是如果没有放大镜遮住我想要的部分,我该如何拍摄截图?

为什么要在显示放大镜后拍摄截图?为什么不在显示放大镜之前截取屏幕截图并使用它来裁剪和查找将来的像素值,所有你需要的只有一个屏幕截图,所以一开始就把它拿出来

当用户从您的应用程序移动模糊物时,您必须隐藏放大镜,对吗?因此,当用户再次关注您的应用时,在显示放大镜之前再拍一张截图,这样屏幕截图始终会显示屏幕的最后状态

为了捕获屏幕,您可以在OSX上使用screencapture命令,安装shelljs,exec命令并读取创建的屏幕截图文件

var shell = require("shelljs");  
shell.exec("screencapture screenshot.png", function(){
});