2012-03-21 24 views
0

アプリケーションの画像が200x200 px以下で、画像のサイズが150 kB以下であることを確認します。たとえば、イメージのファイルサイズが150 kBを超える場合、それを150 kBにする必要があります。画像は私が与えられた幅と高さJavaの画像のサイズを小さくする

private BufferedImage resize(BufferedImage img, int newW, int newH) { 
     int w = img.getWidth(); 
     int h = img.getHeight(); 
     BufferedImage dimg = new BufferedImage(newW, newH, img.getType()); 
     Graphics2D g = dimg.createGraphics(); 
     g.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR); 
     g.drawImage(img, 0, 0, newW, newH, 0, 0, w, h, null); 
     g.dispose(); 
     return dimg; 
    } 

しかし、イムにファイルサイズを縮小については移動する方法がわからないように画像のサイズを変更するために、次のコードを持っている

PNGなど、タイプのJPEGのものとすることができます150kB。どのようにjavaでそれを行うには?いくつかの例は本当に感謝します。

はあなたが唯一の決定、ファイルサイズを下回る取得するには、画像を複数回reziseすることができますあなたに

+2

レンダリングされたイメージのサイズを縮小しようとしていますか(この質問のタイトルに記載されている場合は、そのコードの問題)、またはファイルのサイズあなたはあなたの最後の行の1つに記載しています)? –

+0

ファイルサイズを小さくする – Kris

答えて

1

ちょうどオプション - image magic - それはまた、Java用のいくつかの便利なラッパーを持っているので、簡単に使用することができます。

0

ありがとうございます。

1

あなたの質問には実用的な関連性がありますか、それとも単なる理論的なものですか?

24ビットの色深度を持つ200x200ピクセルの画像は、圧縮されずに117kBが必要です。合理的なJPEGエンコーダを使用すると、そのような画像では150kBを超えることはありません。

関連する問題