使用“捷径”实现图片的批量缩放
作为一个摄影圈的业余选手+爪机党,不像老法师一样整天抱着电脑使用PS、LR之类的大型修图软件修图,一部iPhone就差不多够用了,实在不行,再开电脑吧。
iOS 12更新后,出来了一个新玩意,叫“捷径”,图标那叫一个丑,丑到不想放到桌面上……
捷径一开始打开它,感觉并不友好,所以一直没有使用,直到前两天,打开“捷径中心”,找到了一些挺有用的捷径,又翻了App的介绍,感觉是不是可以用它来干点啥……
下面引用自苹果官网对捷径的介绍。
“捷径”中包含了 300 多个内建操作,可与众多您喜爱的应用配合使用,包括“通讯录”、“日历”、“地图”、“音乐”、“照片”、“相机”、“提醒事项”、Safari 浏览器和“健康”,以及任何支持 Siri 捷径的应用。
使用“捷径”应用,您可以:
- 直接让 Siri 获取回家的路线,发送预计到达时间以及开始听新闻
- 添加致电他人的主屏幕图标
- 制作动画 GIF
- 从 Safari 浏览器或具有共享表单的任何应用制作 PDF
- 轻点一下获取到最近咖啡店的路线
- 将正在听的歌曲发推
- 获取网页上的所有图像
- 发送信息并附上最新拍摄的屏幕快照
- 等等...
捷径可以从“今天”小组件或“搜索”中启动,或者让 Siri 启动。您甚至还可以在主屏幕中为喜爱的捷径添加应用图标。
“捷径”为自动执行 iPhone 和 iPad 上的日常操作带来了无限可能。
既然这么NB,要是能批量缩放图片就好了,要知道,这个功能在很多P图软件里面可是收费功能,对于一个强迫症患者来讲,统一图片大小,分享到博客、公众号的一致性更好,所以,一直苦于没有一个好的App来批量缩放图片,收费的App也坐等不到限免,头大……
- 不想深究捷径的用法的读者,可以直接拖到文章末尾,拿走不谢~
1. 思路
不多说了,直接上伪代码——攻城狮来了o(*^@^*)o
pictures = UserSelection
for pic in pictures:
w = pic.Width
h = pic.Height
if h > w:
pic_r = Resize(pic, Width = auto, Height = 2000)
else:
pic_r = Resize(pic, Width = 2000, Height = auto)
Save(pic_r)
其实并不复杂,获取用户选择的图片,然后比较宽和高,哪个值大就把哪个缩放到指定的大小(此处是2000,当然,也可以做一个由用户指定的界面),然后存储。
2. 实现
伪代码写着简单,实现还需要匹配捷径的用法才行。下面一步一步来~
2.1 选择图片
这一步相对简单,点击搜索框,选择“照片与视频”、“选择照片”即可,注意允许“选择多张”。
选择照片2.2 获取图片尺寸
我们获取图片尺寸要进行宽和高的比较,虽然捷径的条件语句(即“如果”)支持选择“魔法变量”,但是对于一个程序猿来讲,选择了一个没有定义的变量,总感觉哪儿怪怪的,所以,这里用到了变量的用法。
即获取图片的宽度,赋值给w;获取图片的高度,赋值给h。
获取图片尺寸2.3 条件语句
这个如果还是蛮好用的,视觉上还自带缩进。
前面讲了思路,这里直接给出实现。
条件判断2.4 存储图片
如图。
存储图片2.5 注意
注意,上述步骤只给出了一张图片的处理,如果要处理多张,我们就要用到循环了。
如果不使用循环,也能处理多张照片,这个多张照片作为一个集合输入,将这个集合作为参数一级一级传递,但是有个问题,判断的宽和高的结果取决于集合中的第一张照片,这样,横版和竖版的图片一起选,就总会有不符合预期的输出了。
好消息是,捷径的循环也是蛮好用的,哈哈,这里不贴图了,大家打开链接去看吧~
3. 捷径——批量缩放图片
批量缩放图片需要选择在Safari中打开,即可添加到本地捷径库。