macはCommand
+Shift
+4
でスクリーンショットが取れて便利!
ですが,撮れること以外はいろいろ不満点があります.
- デスクトップに保存するな!
- 日本語(2バイト文字)混ぜるな!
- 半角スペース入れるな!
- pngで保存するな!
などなど.
なので,ターミナルとautomator
を少しいじってDesktopのサブフォルダに日本語なしでスペースを削ってjpgにして保存します.
手順1. 保存場所と名前を変える
これはいくつか記事がすでにでているためこちらを参考にすると良いかと思います.
こちらを参考に以下をターミナルに入力します.
$ defaults write com.apple.screencapture location ~/Desktop/ScreenShot/
$ defaults write com.apple.screencapture name "ScreenShot"
$ killall SystemUIServer
これでスクショの名前がScreenShot 2019-08-09 1.08.35.png
となり,~/Desktop/ScreenShot
下に保存されます.スクショだらけでデスクトップが埋まるという事態はこれで避けられます.
手順2. ImageMagickを手に入れる
CLIで画像処理を行う定番のツールとしてImageMagickを入手します.これはbrewコマンドで一発です.
$ brew install imagemagick
手順3. Automatorを使ってスペースを消し圧縮したjpeg画像にする
あとは,Macにもともと入っているAutomator
を使って~/Desktop/ScreenShot
にあるファイルを圧縮します.
F4を押すなりしてAutomator
で検索し,起動します.
起動したら新規書類からフォルダアクションを選択します.
その後画面上部の,"フォルダアクション"は,次の場所に追加されたファイルやフォルダを受け取る
の横にある選択欄からその他
を選択し,先ほどの~/Desktop/ScreenShot
を指定します.
追加されたスクショに対して横のタブにある操作を順番に適用していくことができます.
ここでは以下の順序で画像を変更します.
1. pngをjpgに変換する
2. 半角スペースをアンダーバーに置き換える
3. 容量を小さくする.
それぞれ
1. イメージのタイプを変更
2. Finder項目の名前の変更: テキストを置き換える
3. シェルスクリプトを実行
のアクションでこれを行うことにします.左上にある検索窓を活用して追加してください.
まずイメージのタイプを変更
は変更後のタイプをJPEG
にします.
次にFinder項目の名前の変更
は日付または時刻の追加
プルダウンを選択し,テキストを置き換える
を選びます.検索文字列を(半角スペース),置換文字列を
_
に変更します.
最後にシェルスクリプトを実行で以下の1行シェルコードを入れます.その際,入力の引渡し方法は引数として
を選択します.
for f in $@;do /usr/local/bin/convert $f -strip -quality 85 -colorspace sRGB $f; done
これで完成です.スクショを撮ると自動で画像をjpgにし,いい感じに圧縮してくれます.
ただ,ここの圧縮は任意ですが,結果として990KBほどのpng画像を160KBほどのjpg画像にすることができます.速度重視のブログ等を運営している方ならば,なるべく画像の容量は低く抑えたいかと思うので,小手先のテクニックですがなかなか重宝するのではないかと思います.