iphoneで写真をたくさん撮ると、iphone本体のメモリとgoogleフォトの容量をどんどん使ってしまいます。(PC等のメイン環境に高画質画像を保存したら)リサイズで半分くらいのサイズにしてしまいましょう。
tips
・iphoneの通常の写真をgoogleフォトにアップロードすると、拡張子はJPGになる。
・iphoneのデフォルトアプリ「ショートカット」を使ってリサイズした画像の拡張子はjpegになる。
・googleフォトではjpgとjpegは分けて検索出来る。
・iphoneの中では、jpgとjpegは区別されていないように見える。
処理フロー
4032x3024サイズで撮影した写真を半分のサイズ(2016x1512)に変換します。縦画像と横画像それぞれ判別して処理します。
iphoneのデフォルトアプリ「ショートカット」はバッチ処理など多彩な処理が可能。以下の流れで処理する。
1.iphone内の写真フォルダから、拡張子(JPEG)、日付が指定範囲、横幅が2016ピクセルより大きいものを抽出。
2.抽出された写真から処理対象を選択。選択した写真を1枚ずつループ。
3.選択した画像をJPEGに変換(このとき、圧縮される)
4.分岐処理で幅が高さより大きいときは、
4-1.圧縮した画像を幅2016、高さ自動にリサイズ。
4-2.リサイズした画像を保存。
5.分岐処理で横長でない画像の時は、
5-1.圧縮した画像を幅1512、高さ自動にリサイズ。
5-2.リサイズした画像を保存。
6.分岐処理(IF)終了。
7.ループ処理終了。
8.選択した元画像を削除。
プログラムの記述
コード記述をブロック言語で行う必要があり、ブロックを探したり、変数を指定する作業がとにかく面倒。
以下、出来上がりイメージ。
試運転
先ずは、最初に全て選択をオフにして、2,3枚の写真でテストする。
画像削除時は問い合わせがあるので、削除しないことも可能。
上手く行ったら、ショートカットアプリの権限を大きくしてやる。
設定から、ショートカットを選んで
多量のデータを削除することを許可、をオンにする。
自動ロックがかかると処理が中断するので、「画面表示と明るさ」から自動ロックを5分or解除にしておく。
実運用
1.必要に応じ元画像をバックアップ
2.この記事で作成したバッチを実行
3.iphoneのgoogleフォトを起動(クラウドにリサイズした画像を自動的にアップロード)
4.googleフォトで同じ画像が2枚あることを確認し、情報で1まいは拡張子がJPG、もう一枚はjpegであることを確認
5.googleフォトの検索窓でJPGを選択して削除
補足
・ラインアプリで撮った写真は、撮影日時や撮影場所の記録が限定的なので、リサイズ後の画像はリサイズ処理日の日付になってしまう。
・HEIC形式(iphoneデフォルト)で写真を撮っている人は、抽出の段階でJPEGの代わりに、HEICを指定する。
・動画の縮小は別記事を参照 https://qiita.com/katakaku/items/55c6167ab0ab9afb786b
ショートカットで作成したスクリプトをここで共有する方法が分からない。