今回は、写真から Exif 情報を取得するためのプラグイン「cordova-exif」について。
以前は JavaScript を使って取得していたのですが、色々修正することになったので併せてこちらも修正しました。
GitHub のページはこちらから。
GitHub – guilhermefarias/cordova-exif: This plugin, is the simplest way to get exif data of images at Cordova platform (Phonegap)
https://github.com/guilhermefarias/cordova-exif
実装方法ですが、まず下記のコードを実行します。
cordova plugin add https://github.com/domax/cordova-exif.git --save
なお、このプラグインを使うには cordova-plugin-camera と cordova-plugin-file が必要です。
インストールされてない場合は、自動でこれらのプラグインもインストールされます。
ただし、プラグインのバージョンによっては競合が起こる事もあり、私の環境ではカメラプラグインのバージョンが新しすぎたようでエラーになりました。
そのため、最新のカメラプラグインやファイルプラグインを既にインストール済みの場合は、問題がなければ一度削除してから cordova-exif をインストールすることをおすすめします。
インストールが完了したら、あとは下記のコードで Exif 情報を取得できます。
CordovaExif.readData(imageURI, function(exifObject) {
  console.log(exifObject);
});
取得できるデータ一覧は上の GitHub のページに記載されているので、分からなくなった場合はご確認ください。
なお、カメラプラグインと合わせて使う場合は下記のように書きます。
function onSuccess(imageURI) {
  CordovaExif.readData(imageURI, function(exifObject) {
    console.log(exifObject);
  });
}
function onFail(message) {
  alert('Failed because: ' + message);
}
var options = {
  sourceType: Camera.PictureSourceType.PHOTOLIBRARY,
  quality: 50,
  encodingType: Camera.EncodingType.JPEG,
  destinationType: Camera.DestinationType.FILE_URI
}
navigator.camera.getPicture(onSuccess, onFail, options);
なお、上記のプログラムでは、フォトアルバムから写真を選択するようにしています。
気を付けたい点としては、カメラプラグインのオプションで correctOrientation を true に設定し、画像を正しい向きに直す処理を追加すると、取得できる Exif 情報が減りました。
私は写真から緯度経度を取得したかったので、上記の理由から correctOrientation を追加するのをやめました…。
なお、写真の向きは取得できたので、そちらで正しい向きに直す処理を追加することはできます。
以上、写真から Exif 情報を取得するためのプラグイン「cordova-exif」についてのご紹介でした。
インストール時に若干手間取りましたが、便利なプラグインですので是非ご活用ください。
 
					         
               
                       
						
						 
                