- PR -

画像ファイルを読み込まずに画像サイズを取得する方法

1
投稿者投稿内容
maru
ぬし
会議室デビュー日: 2003/01/27
投稿数: 412
投稿日時: 2003-01-27 15:30
はじめまして。マルヤマと申します。お世話になります。
最近、Javaの画像処理をはじめました。Java初心者です。

巨大画像を読み込む前に画像のサイズだけを取得したいのですが可能でしょうか?
mikan
ベテラン
会議室デビュー日: 2002/08/19
投稿数: 58
投稿日時: 2003-01-27 15:47
こんにちわ。みかんです。

返答じゃないんですが、ファイルサイズ(バイト)なのか、画像の大きさ(ピクセル?)
なのか、とまず聞き返されるでしょう。たぶん。

で、便乗質問。
バイト数だったらば、java.io.File()のインスタンス作ってlength()メソッド、とい
うのはやっていいのでしょうか。
(画像ではないですが)ファイルサイズのみを得たいシーンで、私はそうしてます。
他にいい方法とかありますか?
maru
ぬし
会議室デビュー日: 2003/01/27
投稿数: 412
投稿日時: 2003-01-27 16:14
早速の返答ありがとうございます。

すいません。言葉足らずでした。
画像の大きさ(縦、横のピクセル数)です。
ちょうどバイト数も知りたかったので助かりました。
ありがとうございました。
永井和彦
ぬし
会議室デビュー日: 2002/07/03
投稿数: 276
お住まい・勤務地: 東京都
投稿日時: 2003-01-27 16:51
引用:

画像の大きさ(縦、横のピクセル数)です。



http://www5.airnet.ne.jp/sakuraba/java/laboratory/JDK1.4/Graphics/ImageIO/ImageIO.html

内「画像ファイルの情報とサムネイル」辺りがお探しの情報かと思います。
maru
ぬし
会議室デビュー日: 2003/01/27
投稿数: 412
投稿日時: 2003-01-27 18:11
ありがとうございます。まさにこれです。これで実験してみます。

で、「JPEGのヘッダ情報でファイルの先頭から0xFFC0または0xFFC1または0xFFC2を探し、
3バイトスキップした位置に高さが2バイトで、さらに次の2バイトに幅が入っている」
という事がわかったのJPEGファイルをバイナリで読み込んでヘッダを読み込むクラスを
作りました。実用で使うにはちょっとしんどいので、実際には永井さんの教えてくださった
やつでいこうと思いますが、すこし勉強になりました。
1

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