前回画像を PIL で WebP 化するネタを書いたけど。
どうせならスクリーンショットの 72dpi 化も同時にやりたい。
72dpi にして WebP にして、って二度手間じゃん。
色々試すとそのまま Image.save は全部 72dpi になるらしい。
ということは半分にリサイズしてセーブするだけですね。
import sys, os, re from PIL import Image arg = sys.argv[1:] for s in arg: if re.search(r'\.(jpe?g|png|gif)$', s, re.I): im = Image.open(s) # 144dip to 72dpi x, y = im.size im_s = im.resize((x//2, y//2), Image.Resampling.LANCZOS) im_s.save(f'{os.path.splitext(s)[0]}.webp')
検索でよく見つかる Image.ANTIALIAS は非推奨になっているので注意。
これを前回と同様に Automator でメニューに追加。
ところで前回 .zprofile をフルパスでって書いたけど。
チルダでイケた、ユーザーは自分自身だもんね。
Pillow って思っていたより高機能なんですね、もっと色々やってみよう。
Pillow (PIL Fork) 9.4.0 documentation