0

アフィン変換を使用して BufferedImage を縮小しようとしましたが、画像を拡大することしかできず、必要なほど小さくすることはできません。

これが私のスケールアップコードです。

public BufferedImage Scale(){
    BufferedImage after = new BufferedImage(before.getWidth(), before.getHeight(), BufferedImage.TYPE_INT_ARGB);
    AffineTransform at = new AffineTransform();
    at.scale(-2.0, -2.0);
    AffineTransformOp scale = new AffineTransformOp(at, AffineTransformOp.TYPE_BILINEAR);
    after = scale.filter(before, after);
    return after;
}
4

2 に答える 2

3

縮小するには、負の値ではなく、範囲 (0.0、1.0) のスケールを使用します。

スケール (xScale, yScale) でスケーリング アフィン変換を適用すると、新しい寸法は (imgWidth*xScale, imgHeight*yScale) になります。

于 2013-07-31T12:23:43.363 に答える