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 回答
0

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

于 2013-07-31T12:25:38.237 回答