3

元のバッファリングされた画像のサイズを、幅/高さの比率を維持したまま幅100ピクセルに変更する必要があります。以下は、使用しているコードです。誰かがこれを手伝ってくれませんか?前もって感謝します。

int width = 100;
int height = 100;

BufferedImage resizedImage = new BufferedImage(width, height, type);
Graphics2D g = resizedImage.createGraphics();
g.drawImage(originalImage, 0, 0, width, height, null);
g.dispose();
4

3 に答える 3

3

imgscalrを確認することをお勧めします。これは、使用する静的メソッドの単純なセットでこれを正確に実行する単純な単一クラスです:http ://www.thebuzzmedia.com/software/imgscalr-java-image-scaling-図書館/

使用例は次のようになります。

BufferedImage img = Scalr.resize(src, 100);

必要に応じて、品質、速度、シンプルな画像操作に関する高度な機能も多数用意されており、ライブラリは多数のプロジェクトやWebアプリケーションで本番環境にデプロイされています。

于 2012-05-11T01:12:45.973 に答える
2
int imageWidth = originalImage.getWidth();
int imageHeight = originalImage.getHeight();
height = imageHeight * width / imageWidth;
// Integer arithmetic doing lossless division last.

ただし、高さは100未満または100を超える可能性があります。

于 2012-05-09T12:27:44.240 に答える
0

さて、あなたは試すことができます

int width = 100;
int height = 100;
height = originalImage.height() / (originalImage.width()/width)
于 2012-05-09T12:13:36.927 に答える