2009-04-21 3 views
0

Если вы нажмете cmd + shift + 4 в Mac OS X, вы можете выбрать область на экране с показанными координатными координатами. Мне нужно реализовать такую ​​функцию в одном из моих приложений и не знаю, как это сделать. Может ли кто-нибудь дать мне несколько советов по этому поводу?Выбор области на рабочем столе Mac OS X

Thx.

+0

Вы ищете родной Carbon/Cocoa API? – dirkgently

+0

Я ищу способ реализовать эту функцию ... возможно, настроить прозрачное окно и вставить представление, которое могло бы реагировать на взаимодействие с пользователем ... это будет путь? или есть лучшее решение? – 2009-04-21 08:42:39

ответ

1

Обычно это делается с полупрозрачным оверлейным окном, которое покрывает все пространство на рабочем столе.

У Apple есть older sample code, который должен дать вам начало.

+0

Вот как я это сделал сейчас ... :) – 2009-04-22 07:31:15

2

Этот фрагмент кода вернет CGImageRef, который содержит все, что показано на рабочем столе для данного прямоугольника. Для этого требуется инфраструктура ApplicationServices. Координаты экрана перевернуты, а начало координат находится в верхнем левом углу экрана. В этом случае изображение ref будет принадлежать вызывающему абоненту и должно быть выпущено с CGImageRelease, когда вызывающий абонент закончил с ним.

#import <ApplicationServices/ApplicationServices.h> 

CGImageRef createScreenCapture(CGRect rect) { 
    CGImageRef image = CGWindowCreateImage(
         rect, 
         kCGWindowListOptionOnScreenOnly, 
         0, 
         kCGWindowImageDefault); 
    return image; 
} 
+0

10.5-только, это стоит отметить. – Chuck

+0

@ Чак: Спасибо, определенно стоит упомянуть! –

 Смежные вопросы

  • Нет связанных вопросов^_^