Member 13675690 Ответов: 1

Пипетка OS X, win


- Привет! Кто-нибудь знает, как реализовать пипетку без прозрачного окна?
Пожалуйста, предложите.
Как предотвратить потерю фокуса окна? Как получить пиксель с экрана на OS X. Например, на WinAPI я могу использовать GetPixel.

Я использую c++, Qt.

Спасибо, очень подходите !!!!!

Что я уже пробовал:

В OS X я попытался использовать CGWindowListCreateImage, но он также захватывает курсор.
Я полагаю, что на WinApi я должен использовать SetHook.

1 Ответов

Рейтинг:
1

KarstenK

Кодировка должна быть аналогичной, чем в этом случае Вопросы и ответы по Stackoverflow.

Доступ к пикселю, который вы получаете с помощью Cgbitmapcontextgettdata Читайте также для получения дополнительной информации об API.

Для этого вам нужно нарисовать изображение в собственном контексте.

UIGraphicsBeginImageContextWithOptions(rc.size, true, 1.0);
CGContextRef context = UIGraphicsGetCurrentContext();

CGContextSetFillColorWithColor(context, [[UIColor whiteColor] CGColor]);
CGContextFillRect(context, rc);

[image drawAtPoint:CGPointMake(-rc.origin.x, -rc.origin.y)];

// here you have pixel access
BYTE *data = CGBitmapContextGetData(context);/* 4 for A, R, G, B */
//clean up
UIGraphicsEndImageContext();