Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos 选择Mac OS X桌面上的区域_Macos_Screen Grab - Fatal编程技术网

Macos 选择Mac OS X桌面上的区域

Macos 选择Mac OS X桌面上的区域,macos,screen-grab,Macos,Screen Grab,如果在Mac OS X中按cmd+shift+4,您可以在屏幕上选择一个显示相应坐标的区域。我需要在我的一个应用程序中实现这样的功能,但不知道如何实现。有人能给我一些建议吗 Thx.此代码片段将返回一个CGImageRef,其中包含桌面上显示的给定矩形的所有内容。它需要ApplicationServices框架。屏幕坐标被翻转,原点位于屏幕的左上角。在这种情况下,image ref将由调用者拥有,并且当调用者使用完它时,需要使用cgimarelease释放它 #import <Applic

如果在Mac OS X中按cmd+shift+4,您可以在屏幕上选择一个显示相应坐标的区域。我需要在我的一个应用程序中实现这样的功能,但不知道如何实现。有人能给我一些建议吗


Thx.

此代码片段将返回一个CGImageRef,其中包含桌面上显示的给定矩形的所有内容。它需要ApplicationServices框架。屏幕坐标被翻转,原点位于屏幕的左上角。在这种情况下,image ref将由调用者拥有,并且当调用者使用完它时,需要使用
cgimarelease
释放它

#import <ApplicationServices/ApplicationServices.h>

CGImageRef createScreenCapture(CGRect rect) {
  CGImageRef image = CGWindowCreateImage(
                       rect,
                       kCGWindowListOptionOnScreenOnly,
                       0,
                       kCGWindowImageDefault);
  return image;
}
#导入
CGImageRef CreateScreateScreenCapture(CGRect rect){
CGImageRef image=CGWindowCreateImage(
直肠,
KCGWINDOWLISTOPTIONONNSCLEENTONLY,
0,
kCGWindowImageDefault);
返回图像;
}

此代码片段将返回一个CGImageRef,其中包含桌面上显示的给定矩形的所有内容。它需要ApplicationServices框架。屏幕坐标被翻转,原点位于屏幕的左上角。在这种情况下,image ref将由调用者拥有,并且当调用者使用完它时,需要使用
cgimarelease
释放它

#import <ApplicationServices/ApplicationServices.h>

CGImageRef createScreenCapture(CGRect rect) {
  CGImageRef image = CGWindowCreateImage(
                       rect,
                       kCGWindowListOptionOnScreenOnly,
                       0,
                       kCGWindowImageDefault);
  return image;
}
#导入
CGImageRef CreateScreateScreenCapture(CGRect rect){
CGImageRef image=CGWindowCreateImage(
直肠,
KCGWINDOWLISTOPTIONONNSCLEENTONLY,
0,
kCGWindowImageDefault);
返回图像;
}

通常,这是通过覆盖整个桌面空间的半透明覆盖窗口来完成的


苹果有一些应该给你一个开始。

通常这是通过覆盖整个桌面空间的半透明覆盖窗口来完成的


苹果有一些应该给你一个开始。

你在寻找一个原生碳/可可API吗?我正在寻找一种实现该功能的方法。。。可能会设置一个透明的窗口,并插入一个可以响应用户交互的视图。。。这是路吗?或者有更好的解决方案吗?你是在寻找原生碳/可可API吗?我正在寻找一种实现该功能的方法。。。可能会设置一个透明的窗口,并插入一个可以响应用户交互的视图。。。这是路吗?还是有更好的解决方案?只有10.5,值得一提。@Chuck:谢谢,绝对值得一提!只有10.5分,值得一提。@Chuck:谢谢,绝对值得一提!