2010-11-21 71 views
0

私は自分のWebサイトにアップロードされたファイルを扱うためのツールをJavaで書いています。私は特定の方法でイメージを管理したいと思います。サイズが限界より大きければ、最初にイメージのサイズを変更してからサイズを再度確認したいと思います。当然私は無駄な作業をしたくないので、イメージをサイズ変更する前にサイズを見積もりたいと思います。現時点では、BufferedImageを使ってイメージをメモリに保存していますが、解像度を知る方法はわかりません。 とにかく、この問題を解決する正しい方法を見つけるのを助けてくれますか?Java BufferedImageの解像度

私の問題は、サイズ変更されたイメージのサイズを事前に知ることです。最終バイトサイズがツールのユーザーによって設定された限界を超えている場合は、サイズ変更を行いたくありません。

答えて

0

サイズ?ピクセル単位のサイズ(単純な数式でなければなりません)かバイト数ですか?後者の場合、ByteArrayOutputStreamを作成し、それをImageIO.write()に渡されたOutputStreamとして使用します。サイズはbaos.toByteArray()のようなものになります。

アップロード後に行うのはほとんど意味がないので、クライアント側でこのサイズ変更をすべて行うつもりです。

+0

私の問題は、事前にリサイズした画像のサイズをバイト単位で知ることです?:します。最終バイトサイズがツールのユーザーによって設定された限界を超えている場合は、サイズ変更を行いたくありません。 –

0

は、をバッファリングしたイメージに入れる前に知りたいと思っていますか?それ以外の場合は、バッファリングされたイメージでgetWidth()とgetHeight()を使用して離れることができ、サイズが大きすぎることに基づいてサイズ変更を実行できます。 PREFERRED_SIZE定数を設定し、大きすぎる画像の大きさに基づいてサイズを変更します。 1つのサイズ変更を実行する必要があります。このような

0
+0

高さの幅と解像度に違いがあります。 – dharmendra

+0

解像度によって何を意味するかによって異なります。ここでは、ピクセル解像度http://en.wikipedia.org/wiki/Image_resolution#Pixel_resolution –