私は現在Perl Magick http://www.imagemagick.org/script/perl-magick.php、Image Magick http://www.imagemagick.orgへのperlインターフェイス、&私たちのサイトのユーザーがアップロードする写真を変換するために使用しています。私はまた、これらの画像に添付EXIFデータの一部をキャプチャできるようにしたいのですが、私は、次のコマンドを使用して画像の魔術へのコマンドラインインターフェイスを使用してこれを行う方法を見つけ出すことができました:PerlMagickを使用してEXIFデータを抽出するにはどうすればよいですか?
/usr/bin/identify -format "%[EXIF:*]" image.jpg
私はPerlの魔術から、これと同じ結果を得るために、約100の方法を試してみたが、私は上の使用している同じパラメータを渡す方法を見つけ出すことはできません
exif:ApertureValue=29/8
exif:ColorSpace=1
exif:CompressedBitsPerPixel=3/1
exif:CustomRendered=0
exif:DateTime=2002:10:08 19:49:52
exif:DateTimeDigitized=2002:09:29 14:03:55
exif:DateTimeOriginal=2002:09:29 14:03:55
exif:DigitalZoomRatio=1/1
exif:ExifImageLength=307
exif:ExifImageWidth=410
exif:ExifOffset=192
exif:ExifVersion=48, 50, 50, 48
exif:ExposureBiasValue=0/1
exif:ExposureMode=0
exif:ExposureTime=1/1000
exif:Flash=24
exif:FlashPixVersion=48, 49, 48, 48
exif:FNumber=7/2
exif:FocalLength=227/32
exif:FocalPlaneResolutionUnit=2
exif:FocalPlaneXResolution=235741/32
exif:FocalPlaneYResolution=286622/39
exif:Make=Canon
exif:MaxApertureValue=12742/4289
exif:MeteringMode=5
exif:Model=Canon PowerShot S30
exif:ResolutionUnit=2
exif:SceneCaptureType=0
exif:SensingMethod=2
exif:ShutterSpeedValue=319/32
exif:Software=Adobe Photoshop 7.0
exif:WhiteBalance=0
exif:XResolution=180/1
exif:YResolution=180/1
:特定の写真を以下のEXIF情報を返す
それを正しく動作させるためのコマンドライン。ここで働いているようだいずれも私が試したのバリエーションのカップルです:
私がPerlでの画像ファイルからEXIFデータを抽出するための他の方法があるが、知っているuse Image::Magick;
my $image = Image::Magick->new;
my $exif = $image->Identify('image.jpg');
print $exif;
$image->Read('image.jpg');
$exif = $image->Get('format "%[EXIF:*]"');
print $exif;
我々はすでにPerlの魔術モジュールを持っているので、私は追加のモジュールをロードしなければならないので、メモリを無駄にしたくありません。私は誰かがすでに自分のサイトでこの作業をしており、解決策を共有できることを望んでいます。あなたの助けを前もってありがとう!
+1今、なぜ私はそれを考えなかったのですか? –
@rjpありがとう!魅力のように動作します。そして、記録的な時間にも。 –
これをどのように把握しましたか? APIは非常に鈍いです! – rjh