【问题标题】:How to get a pixel color under a magnifying glass eyedropper?如何在放大镜吸管下获得像素颜色?
【发布时间】:2018-06-25 13:36:14
【问题描述】:

出于学习目的,我正在尝试创建一个桌面吸管,但我不知道如何检索光标后放大镜后面像素的颜色。

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

我想在截屏时遮住放大镜,然后重新显示它,但对我来说似乎很不稳定。 Sip 或 Kelir 等其他工具如何做到这一点?

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

我正在尝试使用 Node.js 和 Electron 来做到这一点,但我猜这需要特定于平台的 API。

这是一个设计问题,而不是实现问题,因此它可以适用于任何语言或平台:我会相应地进行调整。

【问题讨论】:

    标签: node.js windows macos electron


    【解决方案1】:

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

    为什么要在显示放大镜后截屏?为什么不在显示放大镜之前截图,以后用它来裁剪和查找像素值,你只需要一张截图,所以先截图

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


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

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

    【讨论】:

    • 我想从屏幕上的任何位置选择像素颜色,而不仅仅是在我的应用程序中。我还想让放大镜跟随光标。如果屏幕是静态的,您的解决方案会起作用,但是如果鼠标悬停在悬停时会发生变化的东西上怎么办?我将编辑我的问题以澄清。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-01
    • 2016-05-07
    • 2023-03-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多