Creazy!

WEBエンジニア・ヤガーのテック・ガジェットブログ

Bookmarklet 開発実績

EXIF情報を一覧表示するブックマークレット「EXIF EXISTS ?」を作りました

投稿日:


WEBページに表示されている画像のEXIF情報をザザーと一覧表示するブックマークレット(というかWEBサービス)「EXIF EXISTS ?」を作ってみました。
EXIF EXISTS ? | あるWEBページ上の画像EXIF情報をまとめて一覧表示
EXIF EXISTS ?
イグジフ・イグジスツ」とでも読んでみようかと思う。
毎度ながら舌を噛み切りそうな名前をつけるオレ。
そして、自分でもウマく読めないorz
使い方はいたって簡単。
EXIF EXISTS ?のページに行って、調べたいWEBページのURLを入力するか、調べたいWEBページを開いた状態で下記ブックマークレットを実行すれば、そのWEBページに表示されている画像からEXIF情報を取り出し、一覧表示します。
EXIF EXISTS ?(Bookmarklet)

EXIF EXISTS ? を作ったきっかけ

先週、紫色の何かを口に押し付けているすごい人が面白いサービスを作っていたわけで、

仕組みは単純で、ブログに埋め込まれている JPEG ファイルを探して、EXIF データがあればその Model, Make をみてメーカー・機種名を出しています。

via: ブログの画像からカメラ携帯の機種を調べてみる: blog.bulknews.net

携帯の機種がさくっと分かってスゲーなーとか思っていたんだけど、EXIFにはもっと色んな情報が入っているし、ウマい写真撮る人がどんなデジカメ使っているかとか、ISOとか露出とかこのくらいでこんな色か、みたいな事を写真と見比べながら確認できたらすごい勉強になるなぁと思って(オレが)。
自分の周りに写真好きが異常に多い事もあって、結構需要は多いんじゃないかと勝手に思っています。

仕組み等を紆余曲折

実はEXIFなんて簡単に取得できちゃうんですが、JSONで取得できるAPIまでありましたよ。

デジタルカメラなどで撮影した画像ファイルに含まれるExifメタ情報を取得し、JSON形式で出力するサービスを作ってみました。

via: Exif JSONサービス – Ogawa::Memoranda

で、当初これを使ってサクッと!と思っていたんですが、うまくEXIFを取得できない画像が多いように感じたので、

巨大なサムネイルデータをExifとして持つような画像ファイルには対応できません。

via: Exif JSONサービス – Ogawa::Memoranda

しかたないので、自前で実装しました。といってもPHPだと関数一発、ファイト一発。

array exif_read_data ( string $filename [, string $sections [, bool $arrays [, bool $thumbnail]]] )

via: PHP: exif_read_data – Manual

EXIF情報が配列で返ってくるのであとは並べるだけ。
あ、そうそうEXIFの前に対象の画像URLを取得しなきゃいけないので以下のような手順をふんでます。
 1)指定されたURLのHTMLを取得
 2)HTMLからIMG要素を正規表現で抜き出し
 3)IMG要素のリストからSRC属性を抜き出し
 4)SRC属性のリストからEXIFに対応しているJPEG/TIFFの画像のみ取得
 5)EXIF取得
 6)一覧表示
おおざっぱすぎるけどまさにこんな感じ。

ご意見ご感想お待ちしています

写真(やカメラ)の知識が足りないので、一般的にEXIF情報の中で何の項目を確認したいか良く分からず。しかも、一覧表示にするのである程度項目は絞らなきゃいけないなと思ったので結構悩みました。結局、Flickrとか他のフォトサービスを参考に表示する項目を決めましたが、何かお気付きの方がいましたら情報頂ければと思います。あと、やっつけで作ったのでバグあるかも。そんな落とし穴を見つけた場合もフィードバックしてもらえるとなお嬉し。

EXIFについて改めて考える
動画を楽しもう!(Youtubeの動画を片っ端からダウンロードするブックマークレット)
第13回:URLエンコードとURLデコードを簡単にするブックマークレット
第11回:引用(blockquote)を簡単にするブックマークレット
第9回:閲覧しているサイトへのリンクタグを生成するブックマークレット
第6回:TinyURL の遷移先が怖くて開けない場合の対処法

-Bookmarklet, 開発実績

執筆者:


comment

メールアドレスが公開されることはありません。

関連記事

【追記あり】YouTube HD Suite を修正しました(チャンネル対応他)

【2010/08/02:追記】 YouTube HD Suite 公式ページができました。 【2009/06/30:追記】 旧チャンネル画面で画質アイコンが表示されない問題に対応しました。ご迷惑をおか …

SBM Common API を作りました

たくさんあるSBM(ソーシャルブックマーク)サービスのユーザー数を簡単にブログに表示したり、各SBMのユーザー数をJSON(P)形式でまとめて取得できるAPIを作ってみました。 はてなブックマーク、d …

no image

ページタイトルを取得するPipesを作りました

前に、こんなエントリーも書いているのですが、 ・PHPでWEBページのタイトルを抜き出すサンプル もっとお手軽にYahoo!Pipesで取得できるようにしてみました。 Pipes: getPageTi …

tsudaる 専用Greasemonkey「TweetTheMinutes」

津田さんの著書Twitter社会論の中にあった「tsudaる技術」の解説を読んで、中継としてツイッターを使う場合にある程度登壇者の名前なんかを事前に登録しておいて簡単にツイートできるようにしたら便利か …

Twitterメインの人がTumblrでTwitterするためのUserScript

TumblrがTwitterの機能を飲み込もうとしています。 We’re testing Twitter integration on Tumblr. via: Tweet from Tumblr W …

スポンサードリンク

スポンサードリンク