gpt4 book ai didi

objective-c - 检测 macOS 鼠标光标下的颜色

转载 作者:太空狗 更新时间:2023-10-30 03:58:56 25 4
gpt4 key购买 nike

我想知道如何获取 OS X/macOS 鼠标指针当前所在像素的颜色。

我编写了一个控制台应用程序,所以我没有要覆盖的窗口或其他东西。

当我构建并运行该程序时,它应该给我一个控制台日志,显示我的鼠标指针当前所在的颜色。这可能吗?

最佳答案

使用 this question and answer作为起点,这是一个功能齐全的命令行程序。

// To build and run, save this file as main.m, then:
//
// clang -framework Foundation -framework Cocoa main.m
// ./a.out

#import <Foundation/Foundation.h>
#import <Cocoa/Cocoa.h>

int main(int argc, const char *argv[]) {
CGDirectDisplayID mainDisplayID = CGMainDisplayID();
// NSLog(@"Main display id=%d", mainDisplayID);

while (true) {
@autoreleasepool {
CGPoint cursor = CGEventGetLocation(CGEventCreate(NULL));
// NSLog(@"Mouse pos: (%f, %f)", cursor.x, cursor.y);
CGRect rect = CGRectMake(cursor.x, cursor.y, 1, 1);
CGImageRef image = CGDisplayCreateImageForRect(mainDisplayID, rect);
NSBitmapImageRep *bitmap = [[NSBitmapImageRep alloc] initWithCGImage:image];
CGImageRelease(image);
NSColor *color = [bitmap colorAtX:0 y:0];
NSLog(@"%@", color);
[bitmap release];
}
}
return 0;
}

关于objective-c - 检测 macOS 鼠标光标下的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11746471/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com