- PR -

JAVAでJPEGやGIFのメタ情報取得

1
投稿者投稿内容
りょうた
会議室デビュー日: 2006/04/05
投稿数: 2
投稿日時: 2006-04-05 20:41
JAVAアプレットを開発しているのですが、
アプレットのあるWebサーバーのJPEGやGIFを読んで、
表示すると共に、その画像の更新日付やサイズなどの情報を取得したいと思ってます。

現在はAppletクラスのgetImageでImageとして読み込んでいるので
読み込んだImageクラスのgetPropertyで取得できそうに思ってましたが、
どうもうまくいかないみたいです
(そもそもそういう用途のメソッドではないのかもしれませんが)。

簡単なやり方が存在しない場合は、
自力でファイル読み→フォーマット解析と思ってますが、
表示のためにはAppletのgetImage→Imageを描画で問題ないため、
こちらはそのまま使いたいと思ってます。
表示とメタ情報読みのために2回読み込むとオーバーヘッドが高そうです。
(自力で読み込んで表示まで持っていけば解決しますが...。)

何か良い方法をご存知の方がいましたら教えてください。
山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2006-04-06 00:18
exif の情報だったらこれ↓でしょうか。
http://tinyurl.com/ralrn

日付、サイズの取得であればサーブレットでサーバサイドで取得した情報を Applet に渡してやるのが楽かと思います。
nekoyama
ベテラン
会議室デビュー日: 2005/03/12
投稿数: 71
投稿日時: 2006-04-06 01:02
メタ情報の取得であれば、javax.imageio.*パッケージ内のクラスでできそうです。

ImageIOでImageReaderを取得して、ImageReader#getImageMetadata()で取得した
IIOMetadata からメタデータを得られそうです。

ImageReader取得時にFileを生成しておけば、ファイルのサイズも、イメージのロードも
メタデータの取得もImageReaderで一回の読み込みで平気でしょう。
りょうた
会議室デビュー日: 2006/04/05
投稿数: 2
投稿日時: 2006-04-06 16:49
> インギさん

なるほど。
サーブレットで取得した方が確かに楽そうですね。
現状でも、別サーバーのものを取得するときはサーブレットを検討してますので、
サーブレット化も検討したいと思います。
ありがとうございました。

> 未記入さん

まさにこの方法という感じですね。
やってみたらできました。
画像のタイムスタンプは入ってないみたいなので、
別方法を考えようかと思いますが、
知りたい情報のほとんどが手に入りました。
ありがとうございます。
1

スキルアップ/キャリアアップ(JOB@IT)