2018年01月14日 JpegAnalyzer Plusの有効期限切れと自作Exifツール
普段、デジカメ写真のExif確認には「JpegAnalyzer Plus」を使っていたのですが、
年明けぐらいからこんなポップアップが出てきて起動しなくなりました。
最終更新から10年ぐらい経っているようですし、
最新版を探そうにもサイトがすでに消えていたりで、お手上げのようです。
代わりに「Exif Reader」も入れてみましたが、個人的にはどうもしっくり来ず。
最終更新から10年ぐらい経っているようですし、
最新版を探そうにもサイトがすでに消えていたりで、お手上げのようです。
代わりに「Exif Reader」も入れてみましたが、個人的にはどうもしっくり来ず。
そこでふと、自分でも作れるんじゃないの、と思って調べてみたら、
案の定、CPANにライブラリが登録されていたので、Perlで簡単に作れそう。
ということで、個人的に使いやすいように作ってみました。
以下覚書です。
以下覚書です。
(事前にActivePerlがインストールされている前提です)
必要なライブラリのインストール。
これでプログラム作成前の準備は完了。
必要なライブラリのインストール。
C:\> cpan cpan shellが起動する(一回目はインストール処理が走りました) cpan> install Image::ExifTool
これでプログラム作成前の準備は完了。
Perlプログラム例。
#!/usr/bin/perl use strict; use Image::ExifTool; my $InFile; my $OutFile; my $ExifTool; my $ExifInfo; my @kw; my $i; $i=0; $kw[$i++]="CreateDate"; $kw[$i++]="Model"; $kw[$i++]="LensID"; $kw[$i++]="ISO"; $kw[$i++]="ShutterSpeed"; $kw[$i++]="FNumber"; $kw[$i++]="FocalLength"; $kw[$i++]="FocalLength35efl"; while($#ARGV>=0){ $InFile = $ARGV[0]; shift; my $OutFile = "${InFile}_exif.txt"; $ExifTool = new Image::ExifTool; $ExifInfo = $ExifTool->ImageInfo($InFile); open(OUT,">$OutFile"); for($i=0;$i<=$#kw;$i++){ if(defined $$ExifInfo{$kw[$i]}){ printf(OUT "%s: %s\n",$kw[$i],$$ExifInfo{$kw[$i]}); } else { printf(OUT "%s: %s\n",$kw[$i],"-"); } } printf(OUT "\n"); printf(OUT "--------\n"); foreach (sort keys %$ExifInfo) { printf(OUT "%s: %s\n",$_,$$ExifInfo{$_}); } close(OUT); }
実行例
C:\> perl exif.pl xxx.jpeg
xxx.jpeg_exif.txt というファイルにExif情報が落ちてきます。
$kw[$i++] で定義したもの(個人的によく参照するもの)が上の方に優先的に出力されて、
PR