不得不说,mac的命令行好用。除了因为继承UNIX而保持shell命令的一致外,osx还对命令行对了一些扩展,使其更好的与系统本身合作无间。比如open filename
就可以使用系统默认程序来打开这个文件。今天知道了screencapture,更是觉得方便。
使用方法:
screencapture -i test.png
执行后会调用系统默认的截图程序,也就是按cmd-shift-4
出来的那个截图程序。截图完毕后,会保存到test.png中。
-i
模式默认是自由模式,按一下空格键,可以在自由模式和窗口模式间切换。按下control键,截图就不会保存到文件中,而是保存到剪贴板中。
screencapture命令的其他选项:
-c 强制截图保存到剪贴板而不是文件中
-C 截图时保留光标(只在非交互模式下有效)
-d display errors to the user graphically(不知道啥意思)
-i 交互模式截取屏幕。可以是选区或者是窗口。
control key - 截图保存到剪贴板
space key - 在鼠标选区模式和窗口模式间切换
escape key - 退出截图
-m 只截取主显示器(-i模式下无效)
-M 截图完毕后,会打开邮件客户端,图片就躺在邮件正文中
-o 在窗口模式下,不截取窗口的阴影
-P 截图完毕后,在图片预览中打开
-s 只允许鼠标选择模式
-S 窗口模式下,截取屏幕而不是窗口
-t<format> 指定图片格式,模式是png。可选的有pdf, jpg, tiff等
-T<seconds> 延时截取,默认为5秒。
-w 只允许窗口截取模式
-W 开始交互截取模式,默认为窗口模式(只是默认模式与-i不同)
-x 不播放声效
-a do not include windows attached to selected windows(不懂)
-r 不向图片中加入dpi信息
-l<windowid> 抓取指定windowid的窗口截图
-R<x,y,w,h> 抓取指定区域的截图
-B<bundleid> 截图输出会被bundleid指出的程序打开
在你的程序中,只要简单的调用这个命令,就拥有了牛逼的截图功能了