当前位置:  开发笔记 > 编程语言 > 正文

如何使用Cocoa或C++在Mac OS X中截取屏幕截图

如何解决《如何使用Cocoa或C++在MacOSX中截取屏幕截图》经验,为你挑选了3个好方法。

如何在Mac OS X中以程序方式截取桌面区域的截图?



1> 小智..:

我见过的两个有趣的选项,但还是专业使用,是screencapture实用程序和MacFuse演示.

根据手册页,screencapture实用程序自10.2以来就已存在,并且可以通过使用NSTask链接到Cocoa应用程序.

MacFuse演示通过每次打开文件夹时创建新的屏幕截图或类似的东西来工作.您可以在需要时编写快速脚本来访问图像,而无需让脚本实际在该计算机上运行.

但严重的是,Apple还有一些名为"Son of Grab"的示例代码,它使用了新的CGWindow API,非常棒.

http://developer.apple.com/samplecode/SonOfGrab/



2> 小智..:

这样做的一种方法是使用NSTask与'screencapture'命令行命令结合使用.

例如:

NSTask *theProcess;
theProcess = [[NSTask alloc] init];

[theProcess setLaunchPath:@"/usr/sbin/screencapture"];
// use arguments to set save location
[theProcess setArguments:@"blahblah"];
[theProcess launch];

你可以打开文件,无论你告诉它保存,处理它,然后根据需要删除它.显然是权宜之计,但它会奏效.



3> 小智..:

如果你对Leopard的兼容性很好,那么有一个非常强大的新CGWindow API可以让你抓住任何范围的窗口层的屏幕截图,窗口镜头或复合材料.

http://developer.apple.com/samplecode/SonOfGrab/

推荐阅读
落单鸟人
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有