今のところDXフォーマットのカメラしか使用していないので、焦点距離に1.5倍した値も表示するようにした。
※将来フルサイズのカメラを使うようになった場合はカメラ名で分岐させる必要がある。
※lightbox-gallery のポップアップ画像のexifも焦点距離に1.5倍した値が表示されるように変更した。
以下テーマのファンクション関数 functions.php の一部
************************************* 略 function mooz_get_meta($attachment_id) { global $shortname; $metas = array(); $attachment_id = (int) $attachment_id; if(!$attachment_id) return $metas; $imgmt = wp_get_attachment_metadata($attachment_id); if(empty($imgmt['image_meta'])) return $metas; if(get_option($shortname.'_exif_cam')) { $metas['cam'] = array( "key" => "", "val" => $imgmt['image_meta']['camera']); } if(get_option($shortname.'_exif_iso')) { $metas['iso'] = array( "key" => "ISO", "val" => $imgmt['image_meta']['iso']); } if(get_option($shortname.'_exif_shu')) { $xshu = $imgmt['image_meta']['shutter_speed']; if($xshu > 1) $xshu = floor($xshu); if($xshu > 0) { $n=0; $d=0; ConvertToFraction($xshu, $n, $d); if($n >= 1 && $d == 1) $num = $n; else $num = $n.'/'.$d; } else { $num = $num; } $metas['shu'] = array( "key" => "", "val" => $num); } if(get_option($shortname.'_exif_ape')) { $metas['ape'] = array( "key" => "", "val" => 'f/'.$imgmt['image_meta']['aperture']); } if(get_option($shortname.'_exif_foc')) { $xfoc = $imgmt['image_meta']['focal_length']; $xfoc = floor($xfoc)*1.5; /* DXフォーマットの場合焦点距離を1.5倍に */ $metas['foc'] = array( "key" => "", "val" => $imgmt['image_meta']['focal_length'].'mm('.$xfoc.'mm)'); } if(count($metas) > 0) { foreach($metas as $value) { /* echo "<strong>".$value['key'].":</strong> ".$value['val']." "; */ echo "<strong>".$value['key']."</strong> ".$value['val']." "; } } } 略 ************************************* |
************************************* 略 function mooz_get_meta($attachment_id) { global $shortname; $metas = array(); $attachment_id = (int) $attachment_id; if(!$attachment_id) return $metas; $imgmt = wp_get_attachment_metadata($attachment_id); if(empty($imgmt['image_meta'])) return $metas; if(get_option($shortname.'_exif_cam')) { $metas['cam'] = array( "key" => "", "val" => $imgmt['image_meta']['camera']); } if(get_option($shortname.'_exif_iso')) { $metas['iso'] = array( "key" => "ISO", "val" => $imgmt['image_meta']['iso']); } if(get_option($shortname.'_exif_shu')) { $xshu = $imgmt['image_meta']['shutter_speed']; if($xshu > 1) $xshu = floor($xshu); if($xshu > 0) { $n=0; $d=0; ConvertToFraction($xshu, $n, $d); if($n >= 1 && $d == 1) $num = $n; else $num = $n.'/'.$d; } else { $num = $num; } $metas['shu'] = array( "key" => "", "val" => $num); } if(get_option($shortname.'_exif_ape')) { $metas['ape'] = array( "key" => "", "val" => 'f/'.$imgmt['image_meta']['aperture']); } if(get_option($shortname.'_exif_foc')) { $xfoc = $imgmt['image_meta']['focal_length']; $xfoc = floor($xfoc)*1.5; /* DXフォーマットの場合焦点距離を1.5倍に */ $metas['foc'] = array( "key" => "", "val" => $imgmt['image_meta']['focal_length'].'mm('.$xfoc.'mm)'); } if(count($metas) > 0) { foreach($metas as $value) { /* echo "<strong>".$value['key'].":</strong> ".$value['val']." "; */ echo "<strong>".$value['key']."</strong> ".$value['val']." "; } } } 略 *************************************
追記:2010.02.21
FotoFolio の Exif 表示は投稿本文の最後に自動的に追加される。しかし、情報が中途半端なので使用するのを止めることにした。
複数の写真に対応していないし、レンズ名も出ない。また、露出補正値も出ない。
結局、フィルタの種類なども含めて従来どおり手書きで対応していくことに決めた。