如果在Mac OS X中按cmd + shift + 4,则可以在屏幕上选择显示相应坐标的区域。我需要在我的一个应用程序中实现这样的功能,并且不知道如何执行它。有人可以给我一些建议吗?
THX。
答案 0 :(得分:2)
此代码片段将返回一个CGImageRef,其中包含桌面上显示给定矩形的所有内容。它需要ApplicationServices框架。屏幕坐标被翻转,原点位于屏幕的左上角。在这种情况下,图像引用将由调用者拥有,并且需要在调用者完成时使用CGImageRelease
释放。
#import <ApplicationServices/ApplicationServices.h>
CGImageRef createScreenCapture(CGRect rect) {
CGImageRef image = CGWindowCreateImage(
rect,
kCGWindowListOptionOnScreenOnly,
0,
kCGWindowImageDefault);
return image;
}
答案 1 :(得分:1)
通常,这是通过覆盖整个桌面空间的半透明覆盖窗口来完成的。
Apple有一些older sample code可以给你一个开始。