画像の時刻を調整することでiPadに取り込む画像をファイル名順になるようコントロールするスクリプト
スポンサードリンク
iPadにCamera Connection Kitを使って画像や写真を転送する際、時刻をファイル名順に書き換えてしまい、画像の順番を調整するスクリプトです。
iPadの写真アプリでプレゼンをしろとかいう無茶ぶりをされたときに使いましょう。使い方はスクリプトを見て想像してください。見てわからなければ使用禁止です。
Filename: exiforder.pl
#!/usr/bin/perl use strict; use warnings; use DateTime; use FindBin::Real; use File::Spec; use Image::ExifTool; chdir FindBin::Real::Bin(); # iPadのCamera Connection Kitで取り込んだ時「イベント」としてまとめられる日付 my $dt = DateTime->new( year => 2011, month => 5, day => 13, ) ->set_time_zone('Asia/Tokyo'); my $e = Image::ExifTool->new; my $workdir = 'images'; # 画像が入っているディレクトリ foreach ( glob File::Spec->catdir( $workdir, '*' ) ) { # jpgもpngも対象 my $filename = $_; my $date_string = $dt->strftime('%Y:%m:%d %H:%M:%S'); print "$date_string\n"; my $i = $e->ImageInfo($filename); # Exifに日付関連のタグが入っているか my $change; for ('CreateDate', 'DateTimeOriginal', 'ModifyDate') { if ( exists $i->{ $_ } ) { $e->SetNewValue( $_ => $date_string ); $change = 1; } } if ( $change ) { # Exifに日付関連タグがあった場合 $e->WriteInfo( $filename ); } else { # Exifに日付関連タグがなかった場合 utime $dt->epoch(), $dt->epoch(), $filename; } $dt->add( minutes => 1 ); # 時刻を1分進める } exit; __END__
Exif情報がない場合は、ファイルの作成日と更新日を書き換え、Exif情報がある場合は、Exifの日付関連のタグを書き換えます。
これで勝つる! ていうかまともなプレゼンソフト使いたかった……
投稿 大野 義貴 [パソコン・インターネット] | 固定リンク |
スポンサードリンク
トラックバック(0)
トラックバックURL: http://blog.dtpwiki.jp/MTOS/mt-tb.cgi/3585
コメントする