Я пытаюсь получить цвета пикселей с экрана с помощью AppleScript.
Эти строки в AppleScript работают, но слишком медленно.
do shell script "screencapture -R340,1240,1,1 -t bmp $TMPDIR/test.bmp &&
xxd -p -l 3 -s 54 $TMPDIR/test.bmp |
sed 's/\\(..\\)\\(..\\)\\(..\\)/\\3\\2\\1/'"
Мне нужно только уметь запустить что-нибудь из сценария AppleScript и получить цвета где-нибудь в переменной сценария AppleScript. Я нашел несколько решений, но темы действительно старые (2010-2011), и то, что они предлагают, не работает в macOS Catalina.
Например, с углеродом не работает:
#include <Carbon/Carbon.h>
int main (int argc, const char * argv[]) {
if(argc < 3) {
printf("Deux arguments ou plus, Syntax : schTrouvePixel <x> <y>\n");
exit(1);
}
int j = (argc - 1) / 2;
int i,n;
unsigned char *addr;
for(i=0; i < j; i++) {
n = (i * 2) + 1;
addr = (unsigned char*)CGDisplayAddressForPosition(CGMainDisplayID( ),atoi(argv[n]),atoi(argv[n + 1]));
printf("%d %d %d\n",addr[2],addr[1],addr[4]);
}
return 0;
}
У вас есть решение?