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