Mac下使用Automator实现截屏编辑保存

时间:2022-09-10 12:25:28

以前在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

    Mac下使用Automator实现截屏编辑保存

    Mac下使用Automator实现截屏编辑保存

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

    Mac下使用Automator实现截屏编辑保存

    2.1 Type[类型]选择『interactive』

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

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

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

    文件名就指定为untitled

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

    Mac下使用Automator实现截屏编辑保存

Part 2 在Preview中编辑

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

    Mac下使用Automator实现截屏编辑保存

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 一样

    Mac下使用Automator实现截屏编辑保存

    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实现截屏编辑保存

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

  1. Mac下打开DDMS&lpar;AndroidDeviceMonitor&rpar;白屏

    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 &vert; 基础入门 &vert; 截屏并保存于本地

    可先参考   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配置安装&comma;通过expact实现保存账号&comma;及通过跳板登陆配置

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

随机推荐

  1. java安全沙箱(四)之安全管理器及Java API

    java是一种类型安全的语言,它有四类称为安全沙箱机制的安全机制来保证语言的安全性,这四类安全沙箱分别是: 类加载体系 .class文件检验器 内置于Java虚拟机(及语言)的安全特性 安全管理器及J ...

  2. LightOj1285 - Drawing Simple Polygon(连接多边形各点)

    题目链接:http://lightoj.com/volume_showproblem.php?problem=1285 题意:给你一些点,然后把它们用一条线把它们连起来,构成一个多边形,不能有相交,必 ...

  3. 调试时屏蔽JavaScript库代码 –Chrome DevTools Blackbox功能介绍

    代码难免会有Bug,每次我们在Chrome调试代码时,总是会进入各种各样的库代码(比如jQuery.Zepto),但实际上很多时候我们并不希望这样,要是能把这些库代码“拉黑”多好啊. 广大码农喜闻乐见 ...

  4. Spring实战——Profile

    看到Profile这个关键字,或许你从来没有正眼瞧过他,又或者脑海中有些模糊的印象,比如除了这里Springmvc中的Profile,maven中也有Profile的标签. 从字面意思来看,Profi ...

  5. Array&period;apply&lpar;null&comma;&lbrace;length&colon;20&rcub;&rpar;与new Array&lpar;20&rpar;的区别

    Array.apply(null,{length:20}) 这句代码的实际意义:创建长度为20的一个数组,但并非空数组. 跟new Array(20)的区别在于,前一种创建方式,得到的数组中的每一个元 ...

  6. Alpha冲刺&lpar;5&sol;10&rpar;——2019&period;4&period;27

    作业描述 课程 软件工程1916|W(福州大学) 团队名称 修!咻咻! 作业要求 项目Alpha冲刺(团队) 团队目标 切实可行的计算机协会维修预约平台 开发工具 Eclipse 团队信息 队员学号 ...

  7. 发起一个NetCore技术联盟促进NetCore技术应用

    一.简介 1.从十几年前开始net,到两年前转java,到去年底发现netcore2这玩艺,从此以后坚定成为netcore的追随着. 2.有心促进netcore的应用,聚集一些人员共同学习,减少技术使 ...

  8. malloc和free函数详解

    一.malloc()和free()的基本概念以及基本用法: 1.函数原型及说明: void *malloc(long NumBytes):该函数分配了NumBytes个字节,并返回了指向这块内存的指针 ...

  9. 2、visual studio 常用设置

    1.关闭 “引用” 提示 有时候感觉 “方法” 或者 “类” 上的引用有点乱: 去掉它的步骤: 1)在 “引用”文字上单击鼠标右键: 2)在弹出的“选项” 对话框中,取消 CodeLens: 2.打开 ...

  10. &lbrack;SoapUI&rsqb; 获取Cookie,并循环遍历当前Project下所有的Test Suite,Test Case,Test Step,将Cookie传递给这些Test Step

    import com.eviware.soapui.support.types.StringToStringMap //Get all th cookies in the response , her ...