「Windows 10ミニTips」は各回の作成時点で最新のWindows 10環境を使用しています。
WSLからImageMagickを使う
Windows 8.xのエクスプローラーに加わった変更の1つがExif対応である。撮影した各情報を保持するExifは撮影時の向きを記録し、その結果がエクスプローラーに反映されるようになった。
これで何が起こるかというと、撮影した写真をPCのフォルダにまとめた際、意図せず回転してしまった写真が縦表示・横表示で混在することになる。
Exif対応は当然ながらWindows 10にも引き継がれており、本紙編集部や一部のユーザーからは困ったという声も聞く。エクスプローラー自身にExif情報を無視するオプションはない。
個人的にはフォトレタッチアプリを使えば十分だと思うが、本連載では“可能な限り”Windows 10の標準環境で実行することを趣旨としているため、これに沿って解決策を考えてみよう。一見するとExif情報を削除すれば済むように思えるが、少なくとも筆者が確認した限りでは不可能だ。
そこで頼りとするのがWSL(Windows Subsystem for Linux)という仕組み。これはWindows上でLinuxの実行環境を構築できるものだ。
Linuxであれば、コマンドラインから画像を加工するImageMagickがある。これを使えば意図しない回転を修正した画像ファイルを作成できるはずだ。なお、WSLのインストール手順は割愛するが、未インストールの場合は「Windowsの機能の有効化または無効化」からインストールし、ImageMagickは「sudo apt install imagemagick」でインストールしておこう(初めてMicrosoftストアのUbuntuアプリを使う人はUpdateを忘れずに)。
@echo off
cd /d %~dp1
for %%a in (*) do (
wsl.exe --exec convert %%~na%%~xa -orient top-left %%~na-New%%~xa
)
1. Photo-Orient.zipをダウンロードして展開します。
2. 格納されている「Photo-Orient.bat」を任意の場所(デスクトップなど)に置きます。
ご覧のとおり、冒頭の画像に写っているサムネイルで、IMG_1024.JPGの画像方向が変わっている(-Newが付いたサムネイルが修正後のファイル)。これはImageMagickのorientオプションが方向を示すExif Orientation情報の編集に限定されるためだ。つまり、画像方向がRotate 90 CW(90度左回転)のIMG_1024.JPGだけが変換対象となり、画像方向が回転なし(Normal)のIMG_1025.JPGは変わっていない。
阿久津良和(Cactus)