写真データから向きの情報を削除する
スマートフォンやデジタルカメラで撮影した写真をPC上で表示すると、Exifによる方向情報のおかげで写真の向きが勝手にいい感じになります。
ところが写真を別のシステムにアップロードするようなときには、この勝手にいい感じになる機能が邪魔になります。
割とお急ぎで、さらにいうとWindows標準の機能でなんとかしたいところから、 ひとまず写真よりExifの方向情報Orientationを削除するWindows PowerShellスクリプトを作成しました。
スクリプトはps1とcmdのふたつ一組。
適当なフォルダにスクリプトふたつ入れて、バッチファイル(.cmdの側)に写真(イメージファイル)をドラッグアンドドロップで放り込めばOK。
いろいろと乱暴だけど、とりあえずは動きます……。
Remove-MyExifOrientation.cmd
@echo off powershell -ExecutionPolicy RemoteSigned -File %~dp0Remove-MyExifOrientation.ps1 %*
Remove-MyExifOrientation.ps1
# # 写真データよりExifの方向情報を削除します # スクリプトの引数としてイメージファイルのパスが必要 Set-StrictMode -Version Latest Add-Type -AssemblyName System.Drawing $args | foreach { $sourcePath = (Resolve-Path $_).Path $targetDir = Join-Path (Get-Item $sourcePath).Directory "out" $targetPath = Join-Path $targetDir (Get-Item $sourcePath).Name if (!(Test-Path $targetDir)) {new-item -ItemType Directory $targetDir} $ph = New-Object -TypeName System.Drawing.Bitmap -ArgumentList $sourcePath $ph.RemovePropertyItem(274) $ph.Save($targetPath) }