以前在Windows下使用百度或者搜狗输入法的截图工具很方便。❶快捷键(Alt+X,我设置的是这个),❷选择区域,❸编辑所选区域,包括添加文字,线条框框,调色,❹点击『✔️』选择保存位置,修改文件名保存。这个是一个完整的流程,但使用Mac OS X之后,这些都要是单独的过程:

  1. ⌘+⇧+4,选择截取屏幕,保存到桌面(这个位置可以defaults write ...来设置)

    ⌘+⇧+4(选择截图区域,保存到桌面),⌘+^+⇧+4(选择截图区域,保存到clipboard)

    ⌘+⇧+3(截图全屏,保存到桌面),⌘+^+⇧+3(截图全屏,保存到clipboard)

    这些都可以在System Preferences->Keyboard->Shortcuts->Screenshots下设置

    可以锁定宽高来截图,(Shift)锁定

  2. 双击保存的图片文件用Preview打开,点击工具栏的工具箱,添加文字,线条,各种框,各种划,截图等常用操作

    很全的功能

  3. ⌘+S保存,回车命名

    这个过程不是连贯的,很多时候截完图,图片都被窗口遮住了,要最小化很多窗口才能点到图片

[为了点到这张图,探索出不少路径]

  • 使用Terminal(我用iTerm2), open -a Terminal ~/Desktop/....png
  • 点开Finder,navigate到Desktop,找到
  • ^ + ↑切换到另外一个空桌面
  • Alfred 查找一般list的第一个就是

但是点来点去,找来找去确实烦人得很。

AppleScript是Mac OS X内置的一种功能强大的脚本语言,使用 AppleScript 的目的是把一些重复繁琐并且耗费时间的任务自动化。Mac中的Automator相当于是任务处理的一个GUI,有不少方便的components。习惯写script,还是用图形界面要看个人本阶段的能力和偏好了。


Environment

  • Mac OS X 10.11.3
  • bash 3.2.57(1)-release (x86_64-apple-darwin15)
  • zsh 5.0.8 (x86_64-apple-darwin15.0)

我们下面来完成一下类似windows的截图流程

使用Automator

Part 1 截图部分

  1. 『Alfred 2』➜ 『Automator』➜ new Workflow



  2. 搜索take screenshot,拖到右边panel



    2.1 Type[类型]选择『interactive』

    2.2 Option[选项] 『choose selection』[选择性截取]

    2.3 Save to[保存到] 『new』选择截图保存的位置

    推荐『⌘+⇧+G』选择~/Library/tmp/或者/tmp/com.customservices.screenshots/

    文件名就指定为untitled

    随便一个名字都可以,应为是作为临时文件的

Part 2 在Preview中编辑

  1. 搜索open images in preview,拖到右边panel

Part 3 选择保存位置

  1. 使用Applescript、Bash都可以的,我使用Applescript来写

    4.1 搜索applescript,拖拽『run Applescript』到右边的panel

    4.2 输入下面的脚本
on run {input, parameters}
set datetime to do shell script "date +%Y%m%d-%H%M%S" as text
-- 弹出窗口选择保存位置,也可以使用choose file或者choose file name如果想自己输入名字的话
set destDir to (choose folder with prompt "Save Screenshot to:" default location (path to desktop folder))
-- 返回alias类型
set whereto to destDir & datetime & ".png" as text
-- 现在whereto是HFS格式的路径,不是POSIX的路径(用/分割的)
do shell script "cp " & (POSIX path of input) & " " & (POSIX path of whereto) with administrator privileges user name "" password ""
return input
end run

Part 4 试运行

  1. 一步一步来看结果,右上角有step和run两种

    5.1 是一步一步地来运行,和gdb,Perl5的-d bytecounts 的 s 一样



    5.2 一次性运行完,也可以查看每步的IO

part 5 Save and Install

  1. 保存到桌面

    已经保存到了 百度云 < 4dfp >

    就是做个备份,可以后续要修改也很方便
  2. 选择菜单栏的File -> Convert to...-> Service

    .1 Save『⌘+S』弹出要你设置名字的,输入『Extended Screenshot』,确定

    这样就保存到系统~/Library/Services中了,默认的自定义服务都是保存在这里的

    .2 绑定快捷键『⌘+⇧+5』

    navigate到System Preferences -> Keyboard -> Shortcuts -> Services

    找到刚才保存的Extended Screenshot,绑定快捷键⌘+⇧+5
  3. 现在你可以使用⌘+⇧+5来感受一下了

Mac下使用Automator实现截屏编辑保存的更多相关文章

  1. Mac下打开DDMS(AndroidDeviceMonitor)白屏

    mac打开AndroidStudio下的ddms(也就是AndroidDeviceMontor)白屏,是由于jdk版本号较高不兼容导致的,因此需要将jdk降为jdk1.8.0_144就可以来了,但是要 ...

  2. Ubuntu下Vim 如何进入全屏编辑模式

    如题:F11进入全屏编辑模式,再按F11则退出全屏编辑模式.

  3. Qt实现截屏并保存(转载)

    原博地址:http://blog.csdn.net/qinchunwuhui/article/details/52869451?_t_t_t=0.28889142944202306 目前对应用实现截屏 ...

  4. Swift实现截屏并保存相册

    func saveToLocal() { //截屏 let screenRect = UIScreen.mainScreen().bounds UIGraphicsBeginImageContext( ...

  5. Selenium | 基础入门 | 截屏并保存于本地

    可先参考   Selenium | 基础入门 | 利用Xpath寻找用户框 核心代码: //截屏操作 File srcFile = ((TakesScreenshot)driver).getScree ...

  6. 一个类实现Java截屏并保存到指定文件夹

    不知小伙伴们有没有遇到过使用java来截屏的需求,截屏后保存到指定的目录,在桌面上没有任何体现,完全不知道已经被截屏了.至于截屏后怎么做,可能有的老铁只是好奇想知道某人在干啥?也有的老铁可能想进行文字 ...

  7. Mac下使用Automator实现隐藏和显示

    本文使用Makdown编辑 通常系统中打开一个文件有好多种方法,编辑也是.例如你要打开OmniGraffle来画个图(suppose you are working on the Mac OS X) ...

  8. linux下可以和qq截屏比拟的工具hotshots

    可以区域截图,并且对其进行编辑. 安装过程如下: sudo add-apt-repository ppa:ubuntuhandbook1/apps sudo apt-get update sudo a ...

  9. mac下iterm2配置安装,通过expact实现保存账号,及通过跳板登陆配置

    在参考了几款mac不错的ssh工具外,最终选择使用iterm2.本来打算用FinalShell,安装后发现其icon在访达中根本不现实,而且每次访问还需要输入管理员账号密码,强迫症根本受不了... 官 ...

随机推荐

  1. saltstack之(四)远程执行及常用模块

    前几篇文章已经完成了saltstack的安装.认证,从这篇文章开始学习使用saltstack的远程执行. 1.salt远程执行命令详解Usage: salt [options] '<target ...

  2. OPENSSL 学习整理-介绍

    Openssl目录名以及功能描述 目录名 功能描述 Crypto 存放OpenSSL 所有加密算法源码文件和相关标注如X.509 源码文件,是OpenSSL中最重要的目录,包含了OpenSSL 密码算 ...

  3. 第六篇 SQL Server代理深入作业步骤工作流

    本篇文章是SQL Server代理系列的第六篇,详细内容请参考原文. 正如这一系列的前几篇所述,SQL Server代理作业是由一系列的作业步骤组成,每个步骤由一个独立的类型去执行.每个作业步骤在技术 ...

  4. python get方法

    dics.get(k,d)get相当于一条if...else...语句.如果参数k在字典dics中,字典将返回dics[k];返回参数d.例子 >>> l = {:, :} > ...

  5. ASP.NET的运行原理与运行机制 如何:为 IIS 7.0 配置 <system.webServer> 节

    https://technet.microsoft.com/zh-cn/sysinternals/bb763179.aspx 当一个HTTP请求到服务器并被IIS接收到之后,IIS首先通过客户端请求的 ...

  6. 如何在makefile中写cd命令

    http://stackoverflow.com/questions/1789594/how-to-write-cd-command-in-makefile

  7. (Command Pattern)命令模式

    定义 将“请求”封装成对象,以便使用不同的请求.队列或者日志来参数化其他对象.命令模式也支持可撤销的操作. 结构图: 命令模式的角色划分: Reciever(命令的接收者):接收命令,并知道如何进行必 ...

  8. 使用Genymotion来运行Android Studio开发的程序

    访问网址:https://www.genymotion.com,注册账户,之后下载,下载时需要注意不要选择(withou virtualbox那个) 之后运行安装, 运行Genymotion运行启动G ...

  9. PostgreSQL单机、同步复制、异步复制性能测试对比

    测试环境: •测试机:PC •内存:8GB •CPU:Intel(R) Core(TM) i5-3450 3.10GHz •硬盘:HDD •数据量:20GB •测试工具:pgbench •Postgr ...

  10. zip格式jdk在Linux环境下的安装过程

    1下载jdk [root@localhost opt]# cd soft_bak/[root@localhost soft_bak]# lsjdk1.7.0_25.zip postgresql-9.4 ...