以前在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. iOS:创建Siri 功能

    前奏: iOS 10 出来之后,我们开发者也可以使用类似Siri的功能.它是使用Siri里面的一个语音识别框架Speech framework来处理siri的.现在, 让我们来看看 一些 主要的代码吧 ...

  2. 美国大学排名之本科中最用功的学校top15

    美国大学排名之本科中最用功的学校top15 威久留学2016-07-29 13:15:59美国留学 留学新闻 留学选校阅读(490)评论(1)   去美国留学的同学可能都知道USnews美国大学排名, ...

  3. centos linux安全和调优 第四十一节课

    centos  linux安全和调优    第四十一节课 上半节课 Linux安全 下半节课 Linux调优 2015-07-01linux安全和调优 [复制链接]--http://www.apele ...

  4. Linux中的两种守护进程stand alone和xinetd

    Linux中的两种守护进程stand alone和xinetd --http://www.cnblogs.com/itech/archive/2010/12/27/1914846.html#top 一 ...

  5. Android设计模式源码解析之外观模式(Facade)

    https://github.com/simple-android-framework/android_design_patterns_analysis/tree/master/facade/elsd ...

  6. .NET中的Action及Func泛型委托

    委托,在C#编程中占有极其重要的地位,委托可以将函数封装到委托对象中,并且多个委托可以合并为一个委托,委托对象则可以像普通对象一样被存储.传递,之后在任何时刻进行调用,因此,C#中函数回调机制的实现基 ...

  7. Servlet 3特性:异步Servlet

    解异步Servlet之前,让我们试着理解为什么需要它.假设我们有一个Servlet需要很多的时间来处理,类似下面的内容: LongRunningServlet.java package com.jou ...

  8. Java中几种日志方案

    .本文记录Java中几种常用的日志解决方案 0x01 Log4j .这应该是一个比较老牌的日志方案了,配置也比较简单,步骤如下 1)添加对应依赖,比如 Gradle 中 dependencies { ...

  9. List, Set, Map是否继承自Collection接口?

    List, Set, Map是否继承自Collection接口? 答:List,Set是Map不是

  10. (转)Aspone.Cells设置Cell数据格式 Setting Display Formats of Numbers and Dates

    Setting Display Formats Using Microsoft Excel: Right-click on any desired cell and select Format Cel ...