有没有办法缩小BufferedImage

时间:2013-07-31 12:21:10

标签: java image scale bufferedimage affinetransform

我尝试使用仿射变换来缩小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;
}

2 个答案:

答案 0 :(得分:3)

要缩小比例,请使用范围(0.0,1.0)中的比例,而不是负数。

使用缩放(xScale,yScale)应用缩放仿射变换时,新尺寸为(imgWidth * xScale,imgHeight * yScale)。

答案 1 :(得分:0)

如果将其绘制到图形上下文中,则可以在drawImage调用中指定新的宽度和高度。